@@ -2,7 +2,10 @@ Feature: Recover cluster extension from errors that might occur during its lifet
22
33 Background :
44 Given OLM is available
5- And ClusterCatalog "test" serves bundles
5+ And an image registry is available
6+ And a catalog "test" with packages:
7+ | package | version | channel | replaces | contents |
8+ | test | 1 .2 .0 | beta | | CRD , Deployment , ConfigMap |
69
710 Scenario : Restore removed resource
811 Given ServiceAccount "olm-sa" with needed permissions is available in test namespace
@@ -19,15 +22,15 @@ Feature: Recover cluster extension from errors that might occur during its lifet
1922 source:
2023 sourceType: Catalog
2124 catalog:
22- packageName: test
25+ packageName: ${PACKAGE: test}
2326 selector:
2427 matchLabels:
25- "olm.operatorframework.io/metadata.name": test-catalog
28+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
2629 """
2730 And ClusterExtension is available
28- And resource "configmap/test-configmap" exists
29- When resource "configmap/test-configmap" is removed
30- Then resource "configmap/test-configmap" is eventually restored
31+ And resource "configmap/test-configmap-${SCENARIO_ID} " exists
32+ When resource "configmap/test-configmap-${SCENARIO_ID} " is removed
33+ Then resource "configmap/test-configmap-${SCENARIO_ID} " is eventually restored
3134
3235 Scenario : Install ClusterExtension after target namespace becomes available
3336 Given ClusterExtension is applied
@@ -43,10 +46,10 @@ Feature: Recover cluster extension from errors that might occur during its lifet
4346 source:
4447 sourceType: Catalog
4548 catalog:
46- packageName: test
49+ packageName: ${PACKAGE: test}
4750 selector:
4851 matchLabels:
49- "olm.operatorframework.io/metadata.name": test-catalog
52+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
5053 """
5154 And ClusterExtension reports Progressing as True with Reason Retrying
5255 When ServiceAccount "olm-sa" with needed permissions is available in test namespace
@@ -60,17 +63,17 @@ Feature: Recover cluster extension from errors that might occur during its lifet
6063 apiVersion: apps/v1
6164 kind: Deployment
6265 metadata:
63- name: test-operator
66+ name: test-operator-${SCENARIO_ID}
6467 namespace: ${TEST_NAMESPACE}
6568 spec:
6669 replicas: 1
6770 selector:
6871 matchLabels:
69- app: test-operator
72+ app: test-operator-${SCENARIO_ID}
7073 template:
7174 metadata:
7275 labels:
73- app: test-operator
76+ app: test-operator-${SCENARIO_ID}
7477 spec:
7578 containers:
7679 - command:
@@ -103,14 +106,14 @@ Feature: Recover cluster extension from errors that might occur during its lifet
103106 source:
104107 sourceType: Catalog
105108 catalog:
106- packageName: test
109+ packageName: ${PACKAGE: test}
107110 selector:
108111 matchLabels:
109- "olm.operatorframework.io/metadata.name": test-catalog
112+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
110113 """
111114 And ClusterExtension reports Progressing as True with Reason Retrying
112115 And ClusterExtension reports Installed as False
113- When resource "deployment/test-operator" is removed
116+ When resource "deployment/test-operator-${SCENARIO_ID} " is removed
114117 Then ClusterExtension is available
115118 And ClusterExtension reports Progressing as True with Reason Succeeded
116119 And ClusterExtension reports Installed as True
@@ -132,26 +135,26 @@ Feature: Recover cluster extension from errors that might occur during its lifet
132135 source:
133136 sourceType: Catalog
134137 catalog:
135- packageName: test
138+ packageName: ${PACKAGE: test}
136139 selector:
137140 matchLabels:
138- "olm.operatorframework.io/metadata.name": test-catalog
141+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
139142 """
140143 And ClusterExtension reports Progressing as True with Reason Retrying and Message includes:
141144 """
142- error for resolved bundle "test-operator.1.2.0" with version "1.2.0": creating new Revision: pre-authorization failed: service account requires the following permissions to manage cluster extension:
145+ pre-authorization failed: service account requires the following permissions to manage cluster extension:
143146 """
144147 And ClusterExtension reports Progressing as True with Reason Retrying and Message includes:
145148 """
146- Namespace:"" APIGroups:[apiextensions.k8s.io] Resources:[customresourcedefinitions] ResourceNames:[olme2etests.olm .operatorframework.io] Verbs:[delete,get,patch,update]
149+ Namespace:"" APIGroups:[apiextensions.k8s.io] Resources:[customresourcedefinitions] ResourceNames:[e2e-${SCENARIO_ID}tests.e2e-${SCENARIO_ID}.e2e .operatorframework.io] Verbs:[delete,get,patch,update]
147150 """
148151 When ServiceAccount "olm-sa" with needed permissions is available in test namespace
149152 Then ClusterExtension is available
150153 And ClusterExtension reports Progressing as True with Reason Succeeded
151154 And ClusterExtension reports Installed as True
152155
153156 # CATALOG DELETION RESILIENCE SCENARIOS
154-
157+
155158 Scenario : Auto-healing continues working after catalog deletion
156159 # This test proves that extensions continue to auto-heal (restore deleted resources) even when
157160 # their source catalog is unavailable. We verify this by:
@@ -177,19 +180,19 @@ Feature: Recover cluster extension from errors that might occur during its lifet
177180 source:
178181 sourceType: Catalog
179182 catalog:
180- packageName: test
183+ packageName: ${PACKAGE: test}
181184 selector:
182185 matchLabels:
183- "olm.operatorframework.io/metadata.name": test-catalog
186+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
184187 """
185188 And ClusterExtension is rolled out
186189 And ClusterExtension is available
187- And resource "deployment/test-operator" is available
188- And resource "configmap/test-configmap" is available
189- When ClusterCatalog "test" is deleted
190- And resource "configmap/test-configmap" is removed
191- Then resource "configmap/test-configmap" is eventually restored
192- And resource "deployment/test-operator" is available
190+ And resource "deployment/test-operator-${SCENARIO_ID} " is available
191+ And resource "configmap/test-configmap-${SCENARIO_ID} " is available
192+ When catalog "test" is deleted
193+ And resource "configmap/test-configmap-${SCENARIO_ID} " is removed
194+ Then resource "configmap/test-configmap-${SCENARIO_ID} " is eventually restored
195+ And resource "deployment/test-operator-${SCENARIO_ID} " is available
193196
194197 Scenario : Spec changes are allowed when catalog is unavailable
195198 # This test proves that users can modify extension configuration (non-version changes) even when
@@ -217,14 +220,14 @@ Feature: Recover cluster extension from errors that might occur during its lifet
217220 source:
218221 sourceType: Catalog
219222 catalog:
220- packageName: test
223+ packageName: ${PACKAGE: test}
221224 selector:
222225 matchLabels:
223- "olm.operatorframework.io/metadata.name": test-catalog
226+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
224227 """
225228 And ClusterExtension is rolled out
226229 And ClusterExtension is available
227- And ClusterCatalog "test" is deleted
230+ And catalog "test" is deleted
228231 When ClusterExtension is updated to add preflight config
229232 """
230233 apiVersion: olm.operatorframework.io/v1
@@ -242,10 +245,10 @@ Feature: Recover cluster extension from errors that might occur during its lifet
242245 source:
243246 sourceType: Catalog
244247 catalog:
245- packageName: test
248+ packageName: ${PACKAGE: test}
246249 selector:
247250 matchLabels:
248- "olm.operatorframework.io/metadata.name": test-catalog
251+ "olm.operatorframework.io/metadata.name": ${CATALOG: test}
249252 """
250253 And ClusterExtension latest generation has been reconciled
251254 And ClusterExtension reports Progressing as True with Reason Succeeded
0 commit comments