-
Bug
-
Resolution: Done
-
Normal
-
None
-
None
-
None
-
3
-
False
-
-
False
-
?
-
rhos-ops-day1day2-upgrades
-
None
-
-
-
-
RHOS Upgrades 2025 Sprint 18, RHOS Upgrades 2025 Sprint 19
-
2
-
Important
Create infra can fail after a soft clean , on the '_user_data' assertion.
changing the assert to the expected result resolves the issue :
- _user_data_change is skipped or _user_data_change is not changed
Before:
https://gitlab.cee.redhat.com/pkomarov/examples/-/jobs/43687373
TASK [config_drive : Assert we don't try to change an existing ISO that=['_meta_data_change is not changed', '_user_data_change is not changed', '_net_data_change is not changed'], msg=You're trying to edit an existing ISO. This isn't possible, since the ISO is usually attached to a virtual machine, and you cannot dynamically edit it.] ***Monday 24 November 2025 11:07:57 -0500 (0:00:00.196) 0:02:15.395 ******* task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/config_drive/tasks/main.yml:81fatal: [localhost]: FAILED! => assertion: _user_data_change is not changed changed: false evaluated_to: false msg: You're trying to edit an existing ISO. This isn't possible, since the ISO is usually attached to a virtual machine, and you cannot dynamically edit it.
After:
https://gitlab.cee.redhat.com/pkomarov/examples/-/jobs/43727490/raw
TASK [config_drive : Assert we don't try to change an existing ISO that=['_meta_data_change is not changed', '_user_data_change is skipped or _user_data_change is not changed', '_net_data_change is not changed'], msg=You're trying to edit an existing ISO. This isn't possible, since the ISO is usually attached to a virtual machine, and you cannot dynamically edit it.] *** task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/config_drive/tasks/main.yml:112 Tuesday 25 November 2025 04:43:43 -0500 (0:00:00.046) 0:02:14.465 ****** Tuesday 25 November 2025 04:43:43 -0500 (0:00:00.046) 0:02:14.465 ****** ok: [localhost] => changed: false msg: All assertions passed
during research :
failure link:
*https://gitlab.cee.redhat.com/pkomarov/examples/-/jobs/43700110*
TASK [config_drive : Assert we don't try to change an existing ISO that=['_meta_data_change is not changed', '_user_data_change is not changed', '_net_data_change is not changed'], msg=You're trying to edit an existing ISO. This isn't possible, since the ISO is usually attached to a virtual machine, and you cannot dynamically edit it.] ***
possible rca:
_user_data_change is not changed is evaluating as false when you expect it to be true.
Looking at the "Generate user-data" task (lines 51-60), there's a when condition that prevents it from running if cifmw_config_drive_userdata is not defined or is empty. The cause of the assertion failure is: When the "Generate user-data" task is skipped (because the when condition evaluates to false), the registered variable _user_data_change will be set to a skipped state, not a "not changed" state. In Ansible, a skipped task is different from an unchanged task. The assertion at main.yml:87 checks:
_user_data_change is not changed
This will evaluate to false when:
The task was skipped (variable exists but has skipped=true)
The task actually changed something
Possible root causes in your scenario:
cifmw_config_drive_userdata is undefined or empty - The "Generate user-data" task gets skipped, so _user_data_change.skipped == true, which fails the is not changed test
Similar issue with network-data - Line 88 checks _net_data_change, which can also be skipped if cifmw_config_drive_networkconfig is not defined or false
Possible solution: The assertion should account for skipped tasks
Was hit while doing :
Goal:
- Following the documentation, fork the examples repository, create your gitlab runner, and create a custom pipeline to test the changes in the dataplane.
An example of a custom pipeline is visible in my own fork here:
https://gitlab.cee.redhat.com/cjeanner/rhos-gitops-examples/-/blob/keep-infra-pipeline/.gitlab-ci.yml?ref_type=heads#L55-75
Acceptance Criteria:
- A custom pipeline exists in a fork, and shows successful runs with unmodified dataplane
- impacts account
-
OSPRH-21992 Create an {{examples}} fork and create your own pipeline to test the dataplane changes
-
- Closed
-
- links to