Skip to content

Commit 7d202c0

Browse files
committed
[hooks] Changes after reviewer feedback in draft pr
Reviewer feedback concerns addressed. Lucas: Removed manual OpenShift Lightspeed installation Lukasz: Changed namespace to openshift-lightspeed Added configurable host support via cifmw_target_hook_host variable (not localhost anymore) Changed operator readiness check from Deployment to CSV status (better for OLM-based validation) Removed metrics-client-ca since we are not longer manually installing OpenShift Lightspeed Signed-off-by: Malinga Tembo <mtembo@redhat.com>
1 parent c507c5c commit 7d202c0

File tree

1 file changed

+19
-98
lines changed

1 file changed

+19
-98
lines changed
Lines changed: 19 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
---
22

3-
- name: Deploy OpenStack Lightspeed operators
4-
hosts: localhost
3+
- name: Deploy OpenStack Lightspeed operator
4+
hosts: "{{ cifmw_target_hook_host | default('localhost') }}"
55
connection: local
66
vars:
7-
# OpenShift Lightspeed (foundation)
8-
openshift_lightspeed_namespace: "{{ cifmw_openshift_lightspeed_namespace | default('openshift-lightspeed') }}"
9-
openshift_lightspeed_operator_group: "{{ cifmw_openshift_lightspeed_operator_group | default('lightspeed-operator-group') }}"
10-
11-
# OpenStack Lightspeed (main goal)
12-
openstack_lightspeed_namespace: "{{ cifmw_openstack_lightspeed_namespace | default('openstack-lightspeed') }}"
7+
# OpenStack Lightspeed configuration
8+
# Note: Installing in openshift-lightspeed namespace to ensure compatibility
9+
openstack_lightspeed_namespace: "{{ cifmw_openstack_lightspeed_namespace | default('openshift-lightspeed') }}"
1310
openstack_lightspeed_operator_group: "{{ cifmw_openstack_lightspeed_operator_group | default('openstack-lightspeed-operator-group') }}"
1411
openstack_lightspeed_catalog_image: "{{ cifmw_openstack_lightspeed_catalog_image | default('quay.io/openstack-lightspeed/operator-catalog:latest') }}"
1512
openstack_lightspeed_catalog_name: "{{ cifmw_openstack_lightspeed_catalog_name | default('openstack-lightspeed-catalog') }}"
@@ -20,85 +17,7 @@
2017
KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}"
2118

2219
tasks:
23-
# STEP 1: Deploy OpenShift Lightspeed (foundation )
24-
25-
- name: Create namespace for OpenShift Lightspeed
26-
kubernetes.core.k8s:
27-
state: present
28-
definition:
29-
apiVersion: v1
30-
kind: Namespace
31-
metadata:
32-
name: "{{ openshift_lightspeed_namespace }}"
33-
34-
- name: Get service-ca bundle
35-
kubernetes.core.k8s_info:
36-
api_version: v1
37-
kind: ConfigMap
38-
name: service-ca
39-
namespace: openshift-config-managed
40-
register: service_ca_cm
41-
42-
- name: Create metrics-client-ca ConfigMap for OpenShift Lightspeed
43-
kubernetes.core.k8s:
44-
state: present
45-
definition:
46-
apiVersion: v1
47-
kind: ConfigMap
48-
metadata:
49-
name: metrics-client-ca
50-
namespace: openshift-monitoring
51-
data:
52-
client-ca.crt: "{{ service_ca_cm.resources[0].data['ca-bundle.crt'] }}"
53-
when: service_ca_cm.resources | length > 0
54-
55-
- name: Create OperatorGroup for OpenShift Lightspeed
56-
kubernetes.core.k8s:
57-
state: present
58-
definition:
59-
apiVersion: operators.coreos.com/v1
60-
kind: OperatorGroup
61-
metadata:
62-
name: "{{ openshift_lightspeed_operator_group }}"
63-
namespace: "{{ openshift_lightspeed_namespace }}"
64-
spec:
65-
targetNamespaces:
66-
- "{{ openshift_lightspeed_namespace }}"
67-
68-
- name: Subscribe to OpenShift Lightspeed operator
69-
kubernetes.core.k8s:
70-
state: present
71-
definition:
72-
apiVersion: operators.coreos.com/v1alpha1
73-
kind: Subscription
74-
metadata:
75-
name: "lightspeed-operator"
76-
namespace: "{{ openshift_lightspeed_namespace }}"
77-
spec:
78-
channel: "stable"
79-
name: "lightspeed-operator"
80-
source: "redhat-operators"
81-
sourceNamespace: "openshift-marketplace"
82-
installPlanApproval: "Automatic"
83-
84-
- name: Wait for OpenShift Lightspeed operator to be ready
85-
kubernetes.core.k8s_info:
86-
api_version: apps/v1
87-
kind: Deployment
88-
namespace: "{{ openshift_lightspeed_namespace }}"
89-
label_selectors:
90-
- "control-plane=controller-manager"
91-
register: ols_deployment
92-
failed_when: false
93-
until:
94-
- ols_deployment.resources is defined
95-
- ols_deployment.resources | length > 0
96-
- ols_deployment.resources[0].status.readyReplicas is defined
97-
- ols_deployment.resources[0].status.readyReplicas > 0
98-
retries: 30
99-
delay: 10
100-
101-
# STEP 2: Deploy OpenStack Lightspeed catalog
20+
# STEP 1: Deploy OpenStack Lightspeed catalog
10221

10322
- name: Create CatalogSource for OpenStack Lightspeed
10423
kubernetes.core.k8s:
@@ -131,7 +50,9 @@
13150
retries: 30
13251
delay: 10
13352

134-
# STEP 3: Deploy OpenStack Lightspeed operator
53+
# STEP 2: Deploy OpenStack Lightspeed operator
54+
# Note: OpenStack Lightspeed operator will automatically install
55+
# and manage the OpenShift Lightspeed operator as a dependency
13556

13657
- name: Create namespace for OpenStack Lightspeed
13758
kubernetes.core.k8s:
@@ -171,25 +92,25 @@
17192
sourceNamespace: "openshift-marketplace"
17293
installPlanApproval: "Automatic"
17394

174-
- name: Wait for OpenStack Lightspeed operator to be ready
95+
- name: Wait for OpenStack Lightspeed CSV to be ready
17596
kubernetes.core.k8s_info:
176-
api_version: apps/v1
177-
kind: Deployment
97+
api_version: operators.coreos.com/v1alpha1
98+
kind: ClusterServiceVersion
17899
namespace: "{{ openstack_lightspeed_namespace }}"
179100
label_selectors:
180-
- "control-plane=controller-manager"
181-
register: osls_deployment
101+
- "operators.coreos.com/openstack-lightspeed-operator.{{ openstack_lightspeed_namespace }}"
102+
register: osls_csv
182103
failed_when: false
183104
until:
184-
- osls_deployment.resources is defined
185-
- osls_deployment.resources | length > 0
186-
- osls_deployment.resources[0].status.readyReplicas is defined
187-
- osls_deployment.resources[0].status.readyReplicas > 0
105+
- osls_csv.resources is defined
106+
- osls_csv.resources | length > 0
107+
- osls_csv.resources[0].status.phase is defined
108+
- osls_csv.resources[0].status.phase == "Succeeded"
188109
retries: 30
189110
delay: 10
190111

191112
- name: Display deployment summary
192113
ansible.builtin.debug:
193114
msg:
194-
- "✓ OpenShift Lightspeed operator deployed in namespace: {{ openshift_lightspeed_namespace }}"
195115
- "✓ OpenStack Lightspeed operator deployed in namespace: {{ openstack_lightspeed_namespace }}"
116+
- "✓ OpenShift Lightspeed operator will be automatically managed by OpenStack Lightspeed"

0 commit comments

Comments
 (0)