jenkinsci / hetzner-cloud-plugin

Hetzner cloud integration for Jenkins
https://plugins.jenkins.io/hetzner-cloud/
Apache License 2.0
24 stars 8 forks source link

Cloud VM doesn't start when used in conjunction with build-in node and throttle builds plugin #55

Closed tzkoshi closed 1 year ago

tzkoshi commented 1 year ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.361.1 OS: Linux - 5.18.19-051819-generic --- ace-editor:1.1 ansicolor:1.0.2 ant:481.v7b_09e538fcca antisamy-markup-formatter:2.7 apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 badge:1.9.1 bootstrap4-api:4.6.0-5 bootstrap5-api:5.2.1-2 bouncycastle-api:2.26 branch-api:2.1046.v0ca_37783ecc5 build-name-setter:2.2.0 buildtriggerbadge:251.vdf6ef853f3f5 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.7.5 cloud-stats:0.27 cloudbees-folder:6.758.vfd75d09eea_a_1 command-launcher:90.v669d7ccb_7c31 conditional-buildstep:1.4.2 config-file-provider:3.11.1 configurationslicing:430.v966357576543 copyartifact:1.47 credentials:1189.vf61b_a_5e2f62e credentials-binding:523.vd859a_4b_122e6 cvs:2.19.1 dark-theme:245.vb_a_2b_b_010ea_96 description-setter:1.10 display-url-api:2.3.6 durable-task:500.v8927d9fd99d8 echarts-api:5.3.3-1 embeddable-build-status:255.va_d2370ee8fde extended-read-permission:3.2 external-monitor-job:203.v683c09d993b_9 font-awesome-api:6.2.0-2 generic-webhook-trigger:1.84.1 git:4.12.1 git-client:3.12.0 git-parameter:0.9.18 git-server:99.va_0826a_b_cdfa_d git-tag-message:1.7.1 greenballs:1.15.1 groovy-postbuild:2.5 handlebars:3.0.8 hetzner-cloud:66.v5cb45cbd155e instance-identity:116.vf8f487400980 instant-messaging:1.50 ionicons-api:24.va_745a_b_a_97fc3 jabber:1.42 jackson2-api:2.13.3-285.vc03c0256d517 jakarta-activation-api:2.0.1-1 jakarta-mail-api:2.0.1-1 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-4 javax-mail-api:1.6.2-7 jaxb:2.3.6-1 jdk-tool:55.v1b_32b_6ca_f9ca jnr-posix-api:3.1.15-1 jobConfigHistory:1176.v1b_4290db_41a_5 jquery:1.12.4-1 jquery3-api:3.6.1-1 jsch:0.1.55.61.va_e9ee26616e7 junit:1119.1121.vc43d0fc45561 ldap:2.12 lockable-resources:2.16 mailer:438.v02c7f0a_12fa_4 managed-scripts:1.5.4 mapdb-api:1.0.9-28.vf251ce40855d matrix-auth:3.1.5 matrix-project:785.v06b_7f47b_c631 mattermost:3.1.1 maven-plugin:3.19 mina-sshd-api-common:2.9.1-44.v476733c11f82 mina-sshd-api-core:2.9.1-44.v476733c11f82 momentjs:1.1.1 nodelabelparameter:1.11.0 pam-auth:1.10 parameterized-trigger:2.45 pipeline-build-step:2.18 pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:612.v84da_9c54906d pipeline-input-step:451.vf1a_a_4f405289 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2114.v2654ca_721309 pipeline-model-definition:2.2114.v2654ca_721309 pipeline-model-extensions:2.2114.v2654ca_721309 pipeline-rest-api:2.24 pipeline-stage-step:296.v5f6908f017a_5 pipeline-stage-tags-metadata:2.2114.v2654ca_721309 pipeline-stage-view:2.24 plain-credentials:139.ved2b_9cf7587b plugin-util-api:2.17.0 popper-api:1.16.1-3 popper2-api:2.11.6-1 postbuild-task:1.9 resource-disposer:0.20 run-condition:1.5 scm-api:621.vda_a_b_055e58f7 script-security:1183.v774b_0b_0a_a_451 shiningpanda:0.24 snakeyaml-api:1.31-84.ve43da_fb_49d0b ssh-agent:295.v9ca_a_1c7cc3a_a_ ssh-credentials:305.v8f4381501156 ssh-slaves:1.834.v622da_57f702c sshd:3.249.v2dc2ea_416e33 stashNotifier:1.28 structs:324.va_f5d6774f3a_d theme-manager:1.5 thinBackup:1.10 throttle-concurrents:2.9 token-macro:308.v4f2b_ed62b_b_16 trilead-api:1.67.vc3938a_35172f variant:59.vf075fe829ccb workflow-api:1192.v2d0deb_19d212 workflow-basic-steps:994.vd57e3ca_46d24 workflow-cps:2759.v87459c4eea_ca_ workflow-durable-task-step:1199.v02b_9244f8064 workflow-job:1236.vc3a_d1602f439 workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:838.va_3a_087b_4055b ws-cleanup:0.43 ```

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

Ubuntu 18.04.5 LTS

Reproduction steps

  1. Setup the freestyle job
  2. restrict builds by label to (master || hetzner-cloud*)
  3. Setup the throttle plugin to thorttle concurrent builds on same node to "1"
  4. Set 2 executors on master
  5. Start three long running builds.

Expected Results

To see three concurrent builds:

Actual Results

It runs only a single build on the master node and it never spun off cloud VM.

Anything else?

If I change the executors on the master to "1" everything seems to work properly. But if there are more than "1" executors it never starts a new VM from the cloud.

Thank you for your time and this great plugin!

rkosegi commented 1 year ago

Hi @tzkoshi, thank you for bug report. Plugin itself doesn't make any decisions about when and where jobs are being scheduled. That's on pure discretion of Jenkins master.

tzkoshi commented 1 year ago

Thank you and sorry for bothering you. Will report it to jenkins directly.