Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual machine cleanup no longer works since Jenkins version 2.482 #384

Open
alviss7 opened this issue Oct 28, 2024 · 0 comments
Open

Virtual machine cleanup no longer works since Jenkins version 2.482 #384

alviss7 opened this issue Oct 28, 2024 · 0 comments

Comments

@alviss7
Copy link

alviss7 commented Oct 28, 2024

Jenkins and plugins versions report

Environment
Jenkins: 2.482
OS: Linux - 6.1.0-13-cloud-amd64
Java: 17.0.12 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
analysis-model-api:12.9.0
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
apache-httpcomponents-client-5-api:5.4-124.v31e2987e48f4
asm-api:9.7.1-97.v4cc844130d97
authentication-tokens:1.119.v50285141b_7e1
basic-branch-build-strategies:190.v343a_ee70d920
bitbucket:254.v9d8ec33a_7a_42
bitbucket-build-status-notifier:1.4.2
bitbucket-oauth:0.13
bitbucket-pullrequest-builder:1.5.0
blueocean:1.27.16
blueocean-autofavorite:1.2.5
blueocean-bitbucket-pipeline:1.27.16
blueocean-commons:1.27.16
blueocean-config:1.27.16
blueocean-core-js:1.27.16
blueocean-dashboard:1.27.16
blueocean-display-url:2.4.3
blueocean-events:1.27.16
blueocean-git-pipeline:1.27.16
blueocean-github-pipeline:1.27.16
blueocean-i18n:1.27.16
blueocean-jwt:1.27.16
blueocean-personalization:1.27.16
blueocean-pipeline-api-impl:1.27.16
blueocean-pipeline-editor:1.27.16
blueocean-pipeline-scm-api:1.27.16
blueocean-rest:1.27.16
blueocean-rest-impl:1.27.16
blueocean-web:1.27.16
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1193.v64a_61471c489
build-timeout:1.33
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.1
cloud-stats:336.v788e4055508b_
cloudbees-bitbucket-branch-source:888.v8e6d479a_1730
cloudbees-folder:6.955.v81e2a_35c08d3
clover:4.14.2.596.vb_4d6475e990b_
command-launcher:115.vd8b_301cc15d0
commons-compress-api:1.26.1-2
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
conditional-buildstep:1.4.3
config-file-provider:980.v88956a_a_5d6a_d
configuration-as-code:1850.va_a_8c31d3158b_
coverage:1.16.1
credentials:1389.vd7a_b_f5fa_50a_2
credentials-binding:687.v619cb_15e923f
dark-theme:479.v661b_1b_911c01
data-tables-api:2.1.8-1
declarative-pipeline-migration-assistant-api:1.6.4
discard-old-build:1.07
display-url-api:2.209.v582ed814ff2f
docker-commons:443.v921729d5611d
docker-workflow:580.vc0c340686b_54
durable-task:577.v2a_8a_4b_7c0247
echarts-api:5.5.1-3
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1844.v3ea_a_b_842374a_
external-monitor-job:215.v2e88e894db_f8
favorite:2.221.v19ca_666b_62f5
font-awesome-api:6.6.0-2
forensics-api:2.6.0
git:5.6.0
git-client:6.1.0
git-server:126.v0d945d8d2b_39
github:1.40.0
github-api:1.321-478.vc9ce627ce001
github-branch-source:1807.v50351eb_7dd13
google-login:109.v022b_cf87b_e5b_
gson-api:2.11.0-85.v1f4e87273c33
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
hashicorp-vault-pipeline:1.4
hashicorp-vault-plugin:371.v884a_4dd60fb_6
htmlpublisher:1.36
http_request:1.19
instance-identity:201.vd2a_b_5a_468a_a_6
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javadoc:280.v050b_5c849f69
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jenkins-design-language:1.27.16
jersey2-api:2.44-151.v6df377fff741
jira:3.13
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
job-dsl:1.89
joda-time-api:2.13.0-93.v9934da_29b_a_e9
jquery:1.12.4-3
jquery3-api:3.7.1-2
jsch:0.2.16-86.v42e010d9484b_
json-api:20240303-101.v7a_8666713110
json-path-api:2.9.0-118.v7f23ed82a_8b_8
junit:1307.vdd5b_2646279e
lockable-resources:1322.v102a_16ce25ec
mailer:489.vd4b_25144138f
matrix-auth:3.2.3
matrix-project:840.v812f627cb_578
maven-plugin:3.24
mercurial:1260.vdfb_723cdcc81
metrics:4.2.21-458.vcf496cb_839e4
mina-sshd-api-common:2.14.0-133.vcc091215a_358
mina-sshd-api-core:2.14.0-133.vcc091215a_358
multiple-scms:0.8
okhttp-api:4.11.0-181.v1de5b_83857df
openstack-cloud:2.65
opentelemetry:3.1391.vcb_a_a_b_9779d75
opentelemetry-api:1.40.0-36.v1e02b_b_4db_8f4
parameterized-trigger:806.vf6fff3e28c3e
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:61.v629f2cc41d83
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:367.vb_18b_b_5c0cfb_e
pipeline-groovy-lib:744.v5b_556ee7c253
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-extensions:2.2214.vb_b_34b_2ea_9b_83
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2214.vb_b_34b_2ea_9b_83
pipeline-stage-view:2.34
pipeline-utility-steps:2.18.0
plain-credentials:183.va_de8f1dd5a_2b_
plot:2.1.12
plugin-util-api:5.1.0
prism-api:1.29.0-17
prometheus:787.v52e8f47488fc
pubsub-light:1.18
resource-disposer:0.24
role-strategy:743.v142ea_b_d5f1d3
run-condition:1.7
scm-api:698.v8e3b_c788f0a_6
script-security:1366.vd44b_49a_5c85c
slack:751.v2e44153c8fe1
snakeyaml-api:2.3-123.v13484c65210a_
sse-gateway:1.27
ssh-agent:376.v8933585c69d3
ssh-credentials:343.v884f71d78167
ssh-slaves:2.973.v0fa_8c0dea_f9f
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
theme-manager:262.vc57ee4a_eda_5d
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
warnings-ng:11.10.0
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3975.v567e2a_1ffa_22
workflow-durable-task-step:1371.vb_7cec8f3b_95e
workflow-job:1459.v6c531091efcd
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:930.vf51d22b_ce488
ws-cleanup:0.47

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

Debian 12

Reproduction steps

  1. Create a jenkins controller in version 2.482
  2. Configure the Openstack plugin with this jcasc :
clouds:
  - openstack:
      name: "OVH-RBX-A"
      zone: "RBX-A"
      credentialsId: "ovh-openstack"
      endPointUrl: "https://auth.cloud.ovh.net/v3"
      slaveOptions:
        bootSource:
          image:
            name: "debian-jenkins-agent-staging"
        hardwareId: "f566b6b5-1e8b-4a3b-b6fe-e3ba33a38778"
        instancesMin: 0
        instanceCap: 12
        numExecutors: 1
        retentionTime: 30
        launcherFactory:
          ssh:
            credentialsId: "jenkins-ssh-node-prod-root"
        networkId: "rpnv-jenkins-val-rbxa"
      templates:
      - labels: "linux fr fr-rbx docker 4-vcpu 8g-ram"
        name: "agent-staging-d2-8-rbx-a"
  1. Started a build
  2. Wait for the duration of the configuration rentetion to ensure that the agent is not deleted on the Openstack side.

Expected Results

I'm waiting for the virtual machine to be deleted

Actual Results

The virtual machine is not deleted

Anything else?

I notice that the agent that should be deleted is not deleted because isPendingDelete always returns false, see :

Information about the agent not deleted
import jenkins.plugins.openstack.compute.JCloudsComputer

def allComputers = JCloudsComputer.getAll()

allComputers.each { computer ->
  println "Computer Name: ${computer.getName()}"
  println "Is Accepting Tasks: ${computer.isAcceptingTasks()}"
  println "Connected Since: ${computer.getConnectedSince()}"
  println "Tasks Executed: ${computer.getTasksExecuted()}"
  println "Is Idle: ${computer.isIdle()}"
  println "Is Pending Delete: ${computer.isPendingDelete()}"
  println "Offline Cause: ${computer.getOfflineCause()}"
  println "Retention Strategy: ${computer.getRetentionStrategy().getClass().getSimpleName()}"
  println "Is User Offline: ${computer.isUserOffline()}"
  println "---------------------------------------"
}
Computer Name: agent-staging-d2-8-rbx-a-0
Is Accepting Tasks: true
Connected Since: 1729986440747
Tasks Executed: 1
Is Idle: true
Is Pending Delete: false
Offline Cause: Slave is pending removal.
Retention Strategy: JCloudsRetentionStrategy
Is User Offline: false
---------------------------------------
Result: [jenkins.plugins.openstack.compute.JCloudsComputer@69a9fb24]


This change in behaviour came about as a result of this change: jenkinsci/jenkins#9855

Are you interested in contributing a fix?

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant