[adoption_osp_deploy] Allow overriding scenario stack CLI args#3750
[adoption_osp_deploy] Allow overriding scenario stack CLI args#3750imatza-rh wants to merge 1 commit intoopenstack-k8s-operators:mainfrom
Conversation
52c3b81 to
d625233
Compare
d625233 to
9f49310
Compare
9f49310 to
a2572f2
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
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
|
@bogdando Sorry about the dismissed review - I retargeted the base branch from |
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>
110d174 to
208f48e
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/dcdae86968a04ae09ad43eebafe2e500 ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 13m 09s |
|
This PR is stale because it has been for over 15 days with no activity. |
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