jenkinsci / jenkinsci/openstack-cloud-plugin
Agent VM uses an image despite volumeFromImage boot source is used
- Dominant language
- Java
- Stars
- 49
- Forks
- 97
- Avg merge
- 13h 23m
- Merged PRs (30d)
- 6
Description
### Jenkins and plugins versions report
Environment
```text
Jenkins: 2.303.1
OS: Linux - 3.10.0-1062.4.1.el7.x86_64
---
ColumnsPlugin:1.0
PrioritySorter:4.0.0
ace-editor:1.1
ansible:1.1
ansicolor:1.0.0
ant:1.11
antisamy-markup-formatter:2.1
apache-httpcomponents-client-4-api:4.5.13-1.0
authentication-tokens:1.4
authorize-project:1.4.0
badge:1.8
beaker-builder:1.10
bootstrap4-api:4.6.0-3
bootstrap5-api:5.0.2-1
bouncycastle-api:2.20
branch-api:2.6.4
build-name-setter:2.2.0
build-pipeline-plugin:1.5.8
build-timeout:1.20
build-view-column:0.3
buildresult-trigger:0.17
built-on-column:1.1
cachet-gating:1.0.9
caffeine-api:2.9.1-23.v51c4e2c879c8
checks-api:1.7.0
cloud-stats:0.27
cloudbees-folder:6.15
command-launcher:1.6
compact-columns:1.13
conditional-buildstep:1.4.1
config-file-provider:3.8.0
configuration-as-code:1.51
configuration-as-code-support:1.18
configure-job-column-plugin:1.0
console-column-plugin:1.5
console-tail:1.1
copy-to-slave:1.4.4
copyartifact:1.46.1
credentials:2.5
credentials-binding:1.25
cron_column:1.4
cvs:2.19
dashboard-view:2.17
depgraph-view:1.0.5
description-column-plugin:1.3
disk-usage:0.28
display-url-api:2.3.5
docker-commons:1.17
docker-java-api:3.1.5.2
docker-plugin:1.2.2
docker-workflow:1.26
dtkit-api:3.0.0
dumpling:2.2
durable-task:1.37
dynamic-axis:1.0.3
echarts-api:5.1.2-2
email-ext:2.83
email-ext-recipients-column:1.0
envinject:2.4.0
envinject-api:1.7
extended-read-permission:3.2
external-monitor-job:1.7
ez-templates:1.3.4
flexible-publish:0.16.1
font-awesome-api:5.15.3-4
gerrit-trigger:2.35.0
git:4.7.2
git-client:3.7.2
git-server:1.9
gitlab-plugin:1.5.20
google-oauth-plugin:1.0.6
greenballs:1.15.1
groovy:2.4
groovy-postbuild:2.5
handlebars:3.0.8
htmlpublisher:1.25
icon-shim:3.0.0
instant-messaging:1.42
ircbot:2.36
jackson2-api:2.12.3
javadoc:1.6
jdk-tool:1.5
jenkins-multijob-plugin:1.36
jira:3.3
jms-messaging:1.1.24
job-dsl:1.77
jobConfigHistory:2.27
jobtype-column:1.3
jquery:1.12.4-1
jquery-detached:1.2.1
jquery-ui:1.0.2
jquery3-api:3.6.0-2
jsch:0.1.55.2
junit:1.50
junit-attachments:1.6
kerberos-sso:1.7
kubernetes:1.29.2
kubernetes-client-api:5.4.1
kubernetes-credentials:0.9.0
kubernetes-credentials-provider:0.18-1
ldap:2.7
lockable-resources:2.11
mailer:1.34
mapdb-api:1.0.9.0
mask-passwords:3.0
matrix-auth:2.6.7
matrix-project:1.19
maven-plugin:3.12
metrics:4.0.2.8
momentjs:1.1.1
monitoring:1.87.0
multiple-scms:0.8
naginator:1.18.1
nested-view:1.19
nodelabelparameter:1.8.1
nodenamecolumn:1.2
oauth-credentials:0.4
openstack-cloud:2.60
ownership:0.13.0
pam-auth:1.6
parameterized-trigger:2.41
pipeline-build-step:2.13
pipeline-graph-analysis:1.11
pipeline-input-step:2.12
pipeline-milestone-step:1.3.2
pipeline-model-api:1.8.5
pipeline-model-declarative-agent:1.1.1
pipeline-model-definition:1.8.5
pipeline-model-extensions:1.8.5
pipeline-rest-api:2.19
pipeline-stage-step:2.5
pipeline-stage-tags-metadata:1.8.5
pipeline-stage-view:2.19
pipeline-utility-steps:2.8.0
plain-credentials:1.7
plugin-util-api:2.4.0
popper-api:1.16.1-2
popper2-api:2.5.4-3
prometheus:2.0.10
pubsub-light:1.16
pyenv-pipeline:2.1.2
python:1.3
rebuild:1.32
redhat-ci-plugin:1.5.16
resource-disposer:0.16
role-strategy:3.1.1
run-condition:1.5
saferestart:0.3
schedule-build:0.5.1
scm-api:2.6.4
script-security:1.77
sectioned-view:1.25
shiningpanda:0.24
simple-theme-plugin:0.6
skip-certificate-check:1.0
snakeyaml-api:1.29.1
sonar:2.13.1
sonargraph-plugin:1.6.4
sse-gateway:1.24
ssh-agent:1.22
ssh-credentials:1.19
ssh-slaves:1.32.0
sshd:3.0.3
structs:1.23
subversion:2.14.4
support-core:2.74
swarm:3.27
test-stability:2.3
thinBackup:1.10
throttle-concurrents:2.3
timestamper:1.13
tmpcleaner:1.3
token-macro:2.15
toolenv:1.2
translation:1.16
trilead-api:1.0.13
update-sites-manager:2.0.0
urltrigger:0.49
variant:1.4
windows-slaves:1.8
workflow-aggregator:2.6
workflow-api:2.44
workflow-basic-steps:2.23
workflow-cps:2.92
workflow-cps-global-lib:2.19
workflow-durable-task-step:2.39
workflow-job:2.41
workflow-multibranch:2.24
workflow-scm-step:2.12
workflow-step-api:2.23
workflow-support:3.8
ws-cleanup:0.39
xunit:3.0.2
xvnc:1.25
zmq-event-publisher:0.0.5
```
### What Operating System are you using (both controller, and any agents involved in the problem)?
RHEL-7.7 (and 7.4) - controller, various versions of RHEL on agents (not related to this issue).
### Reproduction steps
1. Configure an OpenStack agent that will use a `volumeFromImage` boot source.
2. Provision the agent.
3. Configure CLI access to the OpenStack cloud.
4. Display agent VM properties via CLI (`openstack server show `)
### Expected Results
The VM uses just a volume created from the image, but not the image itself. I. e. the `image` field in the VM properties shows `N/A (booted from volume)`.
### Actual Results
The VM uses both the volume created from image (which is fine), but also the image the volume was created from. I. e. the `image` field in the VM properties shows the image name.
The reason this is actually a problem is that if you need to manipulate with the image being used (say, delete the image and recreate an updated one with the same name), it fails. For comparison, if you create a VM via OpenStack web UI that boots from a volume based on an image, it behaves in the expected way (no image associated to the VM after it has been spun up, therefore it's possible to delete the image).
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.