[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 |
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>
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 |
Summary
cifmw_adoption_osp_deploy_stack_args_removeandcifmw_adoption_osp_deploy_stack_args_addvariables to theadoption_osp_deployroleProblem
TripleO CLI arguments like
--libvirt-typegenerate internal heat environments that are applied after all user-provided-efiles. This meanscifmw_adoption_osp_deploy_overcloud_extra_args(which createsinternal-configuration.yamlas the last-efile) cannot override them.For shiftstack adoption jobs, we need
--libvirt-type kvminstead of--libvirt-type qemu(nested virt requires KVM), but the existing override mechanism has no effect.Solution
Use Ansible's
reject('in', ...)filter to remove unwanted args (preserving order) and append replacements:The defaults are empty lists, so this is fully backwards compatible — existing jobs produce byte-identical output.
Changes
defaults/main.yml_stack_args_remove: [],_stack_args_add: []tasks/deploy_overcloud.ymlreject('in', remove) | list + add | join(' ')tasks/validate_scenario.ymlmolecule/default/converge.ymlmolecule/default/verify.ymlREADME.mdTest plan
Depends-On--libvirt-type kvmin the overcloud deploy commandAssisted-By: Claude Code