kustomize_deploy
Ansible role designed to deploy VA scenarios using the kustomize tool.
Parameters
Warning
The top level parameter cifmw_architecture_scenario
is required in order
to select the proper VA scenario to deploy. If not provided, the role will fail
with a message.
default resources
cifmw_kustomize_deploy_basedir
: (string) Base directory for the ci-framework artifacts. Defaults to~/ci-framework-data/
cifmw_kustomize_deploy_architecture_repo_url
: (string) URL of The “architecture” repository, where the VA scenarios are defined. Defaults tohttps://github.com/openstack-k8s-operators/architecture
cifmw_kustomize_deploy_architecture_repo_dest_dir
: (string) Directory where the architecture repo is cloned on the controller node. Defaults to~/src/github.com/openstack-k8s-operators/architecture
cifmw_kustomize_deploy_architecture_repo_version
: (string) Default branch of the architecture repo to clone.Defaults toHEAD
cifmw_kustomize_deploy_architecture_examples_common_path
: (string) Relative path of the common CRs in the architecture repo. Defaults to/examples/common
cifmw_kustomize_deploy_architecture_examples_path
: (string) Relative path of the VA scenario list in the operator repo. Defaults to/examples/va
cifmw_kustomize_deploy_kustomizations_dest_dir
: (string) Path for the generated CR files. Defaults tocifmw_kustomize_deploy_destfiles_basedir + /artifacts/kustomize_deploy
cifmw_kustomize_deploy_generate_crs_only
: (boolean) The generated CRs aren’t applied (dry-run). Defaults tofalse
cifmw_kustomize_deploy_keep_generated_crs
: (boolean) Keep the generated CRs in the destination folder. Defaults totrue
operators resources
cifmw_kustomize_deploy_olm_source_files
: (string) Path of the source kustomization files for OLM resources. Defaults tocifmw_kustomize_deploy_architecture_repo_dest_dir + /examples/common/olm
cifmw_kustomize_deploy_olm_dest_file
: (string) Path of the generated CR file for OLM resources. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + olm.yml
cifmw_kustomize_deploy_metallb_source_files
: (string) Path of the source kustomization files for MetalLB resources. Defaults tocifmw_kustomize_deploy_architecture_repo_dest_dir + /examples/common/metallb/
cifmw_kustomize_deploy_metallb_dest_file
: (string) Path of the generated CR file for MetalLB resources. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + metallb.yml
cifmw_kustomize_deploy_nmstate_source_files
: (string) Path of the source kustomization files for NMstate resources. Defaults tocifmw_kustomize_deploy_architecture_repo_dest_dir + /examples/common/nmstate
cifmw_kustomize_deploy_nmstate_dest_file
: (string) Path of the generated CR file for NMstate resources. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + nmstate.yml
controlplane resources
cifmw_kustomize_deploy_nncp_source_files
: (string) Path of the NNCP kustomize source files. Defaults tocifmw_kustomize_deploy_cp_source_files + /nncp/
cifmw_kustomize_deploy_nncp_values_dest_file
: (string) Path of the generated CR file for the NNCP resources deploy. Defaults tocifmw_kustomize_deploy_nncp_source_files + values.yaml
cifmw_kustomize_deploy_nncp_dest_file
: (string) Path of the generated CR file for NNCP resources. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + nncp.yaml
cifmw_kustomize_deploy_cp_source_files
: (string) Path of the control-plane kustomize source files. Defaults tocifmw_kustomize_deploy_architecture_repo_dest_dir + /examples/va/hci/control-plane
cifmw_kustomize_deploy_nncp_values_src_file
: (string) Path of thevalues.yaml
file for the NNCP customization. Defaults to~/ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/values.yaml
cifmw_kustomize_deploy_cp_dest_file
: (string) Path of the generated CR file for OSP control-plane resources. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + control-plane.yaml
dataplane resources
cifmw_kustomize_deploy_dp_source_files
: (string) Path of the dataplane kustomize source files. Defaults tocifmw_kustomize_deploy_architecture_repo_dest_dir +
cifmw_kustomize_deploy_architecture_examples_path +
cifmw_architecture_scenario
cifmw_kustomize_deploy_dp_values_src_file
: (string) Path of the generatedvalues.yaml
for dataplane resources. Defaults to~/ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-values/values.yaml
cifmw_kustomize_deploy_dp_values_dest_file
: (string) Path of thevalues.yaml
file for dataplane resources. Defaults tocifmw_kustomize_deploy_dp_source_files + values.yaml
cifmw_kustomize_deploy_dp_dest_file
: (string) Path of the generated CR file for the DataPlane resources deploy. Defaults tocifmw_kustomize_deploy_kustomizations_dest_dir + dataplane.yaml
Automation specificities
Task tagging
Tags are dynamically associated to each stage of the automated deployment.
This allows to discard specific stages by passing the following parameter
to ansible-playbook
:
$ ansible-playbook deploy-edpm.yml \
-e @scenarios/reproducers/va-hci.yml \
-e @scenarios/reproducers/networking-definition.yml \
--skip-tags deploy_architecture_stage_0
This would skip the first stage described in the automation file.
Break point
You can also stop the automated deploy by setting cifmw_deploy_architecture_stopper
parameter to a specific value.
Break point names are built using the stage ID, and the code currently supports three different stopper:
Before calling
kustomize build
:pre_kustomize_stage_ID
Before applying the CR:
post_kustomize_stage_ID
After applying the CR (and after the validation):
post_apply_stage_ID
Example
$ ansible-playbook deploy-edpm.yml [...] \
-e cifmw_deploy_architecture_stopper=post_kustomize_stage_3
Examples
- name: Call kustomize_deploy role
vars:
cifmw_kustomize_deploy_nncp_values_src_file: /tmp/values.yml
cifmw_architecture_scenario: hci
ansible.builtin.include_role:
name: "kustomize_deploy"