jenkinsci / jenkinsci/openstack-cloud-plugin

Agent VM uses an image despite volumeFromImage boot source is used

Open
#337 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.