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
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.
142
+
type: object
143
+
required:
144
+
- metadata
145
+
properties:
146
+
apiVersion:
147
+
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'
148
+
type: string
149
+
kind:
150
+
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'
151
+
type: string
152
+
metadata:
153
+
type: object
154
+
spec:
155
+
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.
156
+
type: object
157
+
properties:
158
+
conditions:
159
+
type: array
160
+
items:
161
+
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 }"
162
+
type: object
163
+
required:
164
+
- lastTransitionTime
165
+
- message
166
+
- reason
167
+
- status
168
+
- type
169
+
properties:
170
+
lastTransitionTime:
171
+
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.
172
+
type: string
173
+
format: date-time
174
+
message:
175
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
176
+
type: string
177
+
maxLength: 32768
178
+
observedGeneration:
179
+
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.
180
+
type: integer
181
+
format: int64
182
+
minimum: 0
183
+
reason:
184
+
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.
185
+
type: string
186
+
maxLength: 1024
187
+
minLength: 1
188
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
189
+
status:
190
+
description: status of the condition, one of True, False, Unknown.
191
+
type: string
192
+
enum:
193
+
- "True"
194
+
- "False"
195
+
- Unknown
196
+
type:
197
+
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 }"
209
+
type: object
210
+
required:
211
+
- message
212
+
- reason
213
+
- status
214
+
- type
215
+
properties:
216
+
lastTransitionTime:
217
+
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.
218
+
type: string
219
+
format: date-time
220
+
message:
221
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
222
+
type: string
223
+
maxLength: 32768
224
+
observedGeneration:
225
+
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.
226
+
type: integer
227
+
format: int64
228
+
minimum: 0
229
+
reason:
230
+
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.
231
+
type: string
232
+
maxLength: 1024
233
+
minLength: 1
234
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
235
+
status:
236
+
description: status of the condition, one of True, False, Unknown.
237
+
type: string
238
+
enum:
239
+
- "True"
240
+
- "False"
241
+
- Unknown
242
+
type:
243
+
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.
253
+
type: object
254
+
properties:
255
+
conditions:
256
+
type: array
257
+
items:
258
+
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 }"
259
+
type: object
260
+
required:
261
+
- lastTransitionTime
262
+
- message
263
+
- reason
264
+
- status
265
+
- type
266
+
properties:
267
+
lastTransitionTime:
268
+
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.
269
+
type: string
270
+
format: date-time
271
+
message:
272
+
description: message is a human readable message indicating details about the transition. This may be an empty string.
273
+
type: string
274
+
maxLength: 32768
275
+
observedGeneration:
276
+
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.
277
+
type: integer
278
+
format: int64
279
+
minimum: 0
280
+
reason:
281
+
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.
282
+
type: string
283
+
maxLength: 1024
284
+
minLength: 1
285
+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
286
+
status:
287
+
description: status of the condition, one of True, False, Unknown.
288
+
type: string
289
+
enum:
290
+
- "True"
291
+
- "False"
292
+
- Unknown
293
+
type:
294
+
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