You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Address various issues with OperatorCondition codebase
1. Update codegen to generate operatorv2 client code
2. Vendor operator-framework/api 0.9.0
3. Adopt the new changes on OperatorCondition API from api repo.
4. Update OperatorCondition v2 references across the codebase
5. Update e2e test case for OperatorCondition
Upstream-commit: f7d30f48f46d2fbe137d856d5a4bcf6b7d1420e2
Upstream-repository: operator-lifecycle-manager
Signed-off-by: Vu Dinh <[email protected]>
description: OperatorCondition is a Custom Resource of type `OperatorCondition` which is used to convey information to OLM about the state of an operator.
146
+
type: object
147
+
required:
148
+
- metadata
149
+
properties:
150
+
apiVersion:
151
+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
152
+
type: string
153
+
kind:
154
+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
155
+
type: string
156
+
metadata:
157
+
type: object
158
+
spec:
159
+
description: OperatorConditionSpec allows an operator to report state to OLM and provides cluster admin with the ability to manually override state reported by the operator.
160
+
type: object
161
+
properties:
162
+
conditions:
163
+
type: array
164
+
items:
165
+
description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
166
+
type: object
167
+
required:
168
+
- lastTransitionTime
169
+
- message
170
+
- reason
171
+
- status
172
+
- type
173
+
properties:
174
+
lastTransitionTime:
175
+
description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
176
+
type: string
177
+
format: date-time
178
+
message:
179
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
180
+
type: string
181
+
maxLength: 32768
182
+
observedGeneration:
183
+
description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
184
+
type: integer
185
+
format: int64
186
+
minimum: 0
187
+
reason:
188
+
description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
189
+
type: string
190
+
maxLength: 1024
191
+
minLength: 1
192
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
193
+
status:
194
+
description: status of the condition, one of True, False, Unknown.
195
+
type: string
196
+
enum:
197
+
- "True"
198
+
- "False"
199
+
- Unknown
200
+
type:
201
+
description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
213
+
type: object
214
+
required:
215
+
- message
216
+
- reason
217
+
- status
218
+
- type
219
+
properties:
220
+
lastTransitionTime:
221
+
description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
222
+
type: string
223
+
format: date-time
224
+
message:
225
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
226
+
type: string
227
+
maxLength: 32768
228
+
observedGeneration:
229
+
description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
230
+
type: integer
231
+
format: int64
232
+
minimum: 0
233
+
reason:
234
+
description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
235
+
type: string
236
+
maxLength: 1024
237
+
minLength: 1
238
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
239
+
status:
240
+
description: status of the condition, one of True, False, Unknown.
241
+
type: string
242
+
enum:
243
+
- "True"
244
+
- "False"
245
+
- Unknown
246
+
type:
247
+
description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: OperatorConditionStatus allows OLM to convey which conditions have been observed.
257
+
type: object
258
+
properties:
259
+
conditions:
260
+
type: array
261
+
items:
262
+
description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
263
+
type: object
264
+
required:
265
+
- lastTransitionTime
266
+
- message
267
+
- reason
268
+
- status
269
+
- type
270
+
properties:
271
+
lastTransitionTime:
272
+
description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
273
+
type: string
274
+
format: date-time
275
+
message:
276
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
277
+
type: string
278
+
maxLength: 32768
279
+
observedGeneration:
280
+
description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
281
+
type: integer
282
+
format: int64
283
+
minimum: 0
284
+
reason:
285
+
description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
286
+
type: string
287
+
maxLength: 1024
288
+
minLength: 1
289
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
290
+
status:
291
+
description: status of the condition, one of True, False, Unknown.
292
+
type: string
293
+
enum:
294
+
- "True"
295
+
- "False"
296
+
- Unknown
297
+
type:
298
+
description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
0 commit comments