[adoption_osp_deploy] Allow overriding scenario stack CLI args#3750
Conversation
52c3b81 to
d625233
Compare
d625233 to
9f49310
Compare
a2572f2 to
556e7bc
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/ca4dd3a214fd4d0b9f4732ff14c21905 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 52m 23s |
556e7bc to
a4e84c0
Compare
a4e84c0 to
110d174
Compare
bogdando
left a comment
There was a problem hiding this comment.
LGTM, it appears to be non-breaking opted-out change so need no extra testing in downstream testproject
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/0cd47efaa5e54937b6d0d3f106f91f7c ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 16m 54s |
|
recheck |
04ce0b3 to
c4b59d7
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/cedf79e643004c19a0d1912098a1f51b ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 08m 34s |
c4b59d7 to
a8fe1ac
Compare
|
Rebased on main, no code changes. CI passed (6/6 stages). Previous LGTM was dismissed by the rebase. |
Add cifmw_adoption_osp_deploy_stack_args_remove and cifmw_adoption_osp_deploy_stack_args_add variables to allow callers to modify the TripleO overcloud deploy CLI arguments from the DPA scenario. TripleO CLI arguments like --libvirt-type generate internal heat environments applied after all user-provided -e files, so they cannot be overridden via the existing cifmw_adoption_osp_deploy_overcloud_extra_args mechanism. The new variables use Ansible's reject filter to remove unwanted args (preserving order) and append replacements. Also adds: - Input validation for the new variables in validate_scenario - Molecule test coverage for the args override logic - README documentation for both new parameters Assisted-By: Claude Code Signed-off-by: Itay Matza <imatza@redhat.com>
a8fe1ac to
b5287ad
Compare
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: brjackma The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
TripleO CLI arguments like
--libvirt-typegenerate internal heatenvironments that are applied after all user-provided
-efilesin the
overcloud deploycommand.This means
cifmw_adoption_osp_deploy_overcloud_extra_args(whichcreates
internal-configuration.yamlas the last-efile) cannotoverride them - the CLI arg wins because TripleO processes it
separately from
-efile stacking.For shiftstack adoption on baremetal, we need
--libvirt-type kvminstead of
--libvirt-type qemu(nested virt requires KVM), butthe existing override mechanism has no effect. See the
TripleO hiera hierarchy
for the full priority chain.
This adds two variables to
adoption_osp_deploy:cifmw_adoption_osp_deploy_stack_args_remove- filter out argsfrom the scenario's
stack.argsusing Ansible'sreject('in', ...)(preserves order, unlike
difference()which uses sets)cifmw_adoption_osp_deploy_stack_args_add- append new args afterremovals
Both default to
[], so existing jobs produce identical output.Input validation ensures both are lists (not string/mapping) before
the Jinja2 expression runs.
Usage in ci-framework-jobs (shiftstack adoption deploy-osp):
Companion PR: data-plane-adoption #1292 -
removes redundant ExtraConfig virt_type entries that would otherwise
still override at hiera priority 7 vs 11.
Molecule tests cover 6 scenarios: default (no-op), remove, add,
replace, multi-remove, non-existent removal. Full adoption pipeline
passed (7/7 stages) via testproject buildset.
Related-Issue: OSPRH-27919
Assisted-By: Claude Code