Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 63 additions & 8 deletions roles/kustomize_deploy/tasks/install_plan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,78 @@
namespace: openstack-operators
register: _cifmw_kustomize_deploy_install_plans
until: >
_cifmw_kustomize_deploy_install_plans.resources |
selectattr('spec.approval', 'equalto', 'Manual') |
selectattr('spec.approved', 'equalto', false) | length > 0
(
cifmw_ci_gen_kustomize_values_deployment_version is defined
) | ternary(
(
_cifmw_kustomize_deploy_install_plans.resources |
selectattr('spec.approval', 'equalto', 'Manual') |
selectattr('spec.approved', 'equalto', false) |
selectattr('spec.clusterServiceVersionNames', 'contains',
'openstack-operator.' ~ cifmw_ci_gen_kustomize_values_deployment_version) |
length > 0
),
(
_cifmw_kustomize_deploy_install_plans.resources |
selectattr('spec.approval', 'equalto', 'Manual') |
selectattr('spec.approved', 'equalto', false) | length > 0
)
)
retries: 30
delay: 10

- name: Get InstallPlan name
ansible.builtin.set_fact:
_cifmw_kustomize_deploy_installplan_name: >-
{{
(_cifmw_kustomize_deploy_install_plans.resources
| selectattr('spec.approval', 'equalto', 'Manual')
| selectattr('spec.approved', 'equalto', false)
| first)
.metadata.name
(
cifmw_ci_gen_kustomize_values_deployment_version is defined
) | ternary(
(
_cifmw_kustomize_deploy_install_plans.resources
| selectattr('spec.approval', 'equalto', 'Manual')
| selectattr('spec.approved', 'equalto', false)
| selectattr('spec.clusterServiceVersionNames', 'contains',
'openstack-operator.' ~ cifmw_ci_gen_kustomize_values_deployment_version)
| first
).metadata.name,
(
_cifmw_kustomize_deploy_install_plans.resources
| selectattr('spec.approval', 'equalto', 'Manual')
| selectattr('spec.approved', 'equalto', false)
| first
).metadata.name
)
}}

- name: Display the InstallPlan to be approved
vars:
_selected_installplan: >-
{{
(
cifmw_ci_gen_kustomize_values_deployment_version is defined
) | ternary(
(
_cifmw_kustomize_deploy_install_plans.resources
| selectattr('spec.approval', 'equalto', 'Manual')
| selectattr('spec.approved', 'equalto', false)
| selectattr('spec.clusterServiceVersionNames', 'contains',
'openstack-operator.' ~ cifmw_ci_gen_kustomize_values_deployment_version)
| first
),
(
_cifmw_kustomize_deploy_install_plans.resources
| selectattr('spec.approval', 'equalto', 'Manual')
| selectattr('spec.approved', 'equalto', false)
| first
)
)
}}
ansible.builtin.debug:
msg: >
Approving InstallPlan {{ _cifmw_kustomize_deploy_installplan_name }}
for CSV: {{ _selected_installplan.spec.clusterServiceVersionNames | join(', ') }}

- name: Approve the InstallPlan
kubernetes.core.k8s:
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
Expand Down