Skip to content

Commit

Permalink
Support new OpenStack initialization resource for RHOSO install
Browse files Browse the repository at this point in the history
  • Loading branch information
abays committed Dec 6, 2024
1 parent 49034ad commit 36589aa
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 3 deletions.
18 changes: 18 additions & 0 deletions roles/kustomize_deploy/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,24 @@ cifmw_kustomize_deploy_nmstate_dest_file: >-
] | path_join
}}
# openstack init resource
cifmw_kustomize_deploy_openstack_source_files: >-
{{
[
cifmw_kustomize_deploy_architecture_repo_dest_dir,
cifmw_kustomize_deploy_architecture_examples_common_path,
'openstack'
] | path_join
}}
cifmw_kustomize_deploy_openstack_dest_file: >-
{{
[
cifmw_kustomize_deploy_kustomizations_dest_dir,
'openstack.yaml'
] | path_join
}}
# controlsplane resources

cifmw_kustomize_deploy_nncp_source_files: >-
Expand Down
67 changes: 64 additions & 3 deletions roles/kustomize_deploy/tasks/install_operators.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
- _cifmw_kustomize_deploy_olm_osp_operator_sub_out.resources | length == 1
- (_cifmw_kustomize_deploy_olm_osp_operator_sub_out.resources | first)['status']['installPlanRef'] is defined

- name: Wait for the openstack operators InstallPlan to be finish
- name: Wait for the openstack operators InstallPlan to be finished
vars:
_install_plan: >-
{{
Expand Down Expand Up @@ -319,8 +319,69 @@
status: "True"
wait_timeout: 300

- name: Wait until OpenStack operators are deployed and ready
when: not cifmw_kustomize_deploy_generate_crs_only
- name: Check if the OpenStack initialization CRD exists
kubernetes.core.k8s_info:
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
api_key: "{{ cifmw_openshift_token | default(omit) }}"
context: "{{ cifmw_openshift_context | default(omit) }}"
kind: CustomResourceDefinition
name: openstacks.operator.openstack.org
register: _cifmw_kustomize_deploy_olm_osp_operator_openstack_crd_out

- name: Handle OpenStack initialization, if necessary
when: (_cifmw_kustomize_deploy_olm_osp_operator_openstack_crd_out.resources | length) > 0
block:
- name: Generate OpenStack initialization kustomization file
ansible.builtin.copy:
content: >-
{{
lookup(
'kubernetes.core.kustomize',
dir=cifmw_kustomize_deploy_openstack_source_files
)
}}
dest: "{{ cifmw_kustomize_deploy_openstack_dest_file }}"
mode: "0644"

- name: Openstack initialization resources
when: not cifmw_kustomize_deploy_generate_crs_only
block:
- name: Apply the kustomized OpenStack initialization CRs
kubernetes.core.k8s:
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
api_key: "{{ cifmw_openshift_token | default(omit) }}"
context: "{{ cifmw_openshift_context | default(omit) }}"
state: present
wait: true
src: "{{ cifmw_kustomize_deploy_openstack_dest_file }}"
check_mode: >-
{{
cifmw_kustomize_deploy_check_mode |
default(false, true)
}}
- name: Wait until OpenStack operators are deployed and ready (new install paradigm)
when: not cifmw_kustomize_deploy_generate_crs_only
kubernetes.core.k8s_info:
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
kind: Openstack
namespace: openstack-operators
name: openstack
wait: true
wait_condition:
type: Ready
status: "True"
wait_timeout: 600
check_mode: >-
{{
cifmw_kustomize_deploy_check_mode |
default(false, true)
}}
- name: Wait until OpenStack operators are deployed and ready (old install paradigm)
when:
- not cifmw_kustomize_deploy_generate_crs_only
- (_cifmw_kustomize_deploy_olm_osp_operator_openstack_crd_out.resources | length) == 0
kubernetes.core.k8s_info:
kubeconfig: "{{ cifmw_openshift_kubeconfig }}"
kind: Deployment
Expand Down

0 comments on commit 36589aa

Please sign in to comment.