github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/test/util/crds/machineconfiguration.openshift.io_machineconfigpools_crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 # name must match the spec fields below, and be in the form: <plural>.<group> 5 name: machineconfigpools.machineconfiguration.openshift.io 6 labels: 7 "openshift.io/operator-managed": "" 8 annotations: 9 include.release.openshift.io/ibm-cloud-managed: "true" 10 include.release.openshift.io/self-managed-high-availability: "true" 11 include.release.openshift.io/single-node-developer: "true" 12 spec: 13 # group name to use for REST API: /apis/<group>/<version> 14 group: machineconfiguration.openshift.io 15 # either Namespaced or Cluster 16 scope: Cluster 17 names: 18 # plural name to be used in the URL: /apis/<group>/<version>/<plural> 19 plural: machineconfigpools 20 # singular name to be used as an alias on the CLI and for display 21 singular: machineconfigpool 22 # kind is normally the PascalCased singular type. Your resource manifests use this. 23 kind: MachineConfigPool 24 # shortNames allow shorter string to match your resource on the CLI 25 shortNames: 26 - mcp 27 # list of versions supported by this CustomResourceDefinition 28 versions: 29 - name: v1 30 # Each version can be enabled/disabled by Served flag. 31 served: true 32 # One and only one version must be marked as the storage version. 33 storage: true 34 subresources: 35 status: {} 36 additionalPrinterColumns: 37 - jsonPath: .status.configuration.name 38 name: Config 39 type: string 40 - jsonPath: .status.conditions[?(@.type=="Updated")].status 41 description: When all the machines in the pool are updated to the correct machine 42 config. 43 name: Updated 44 type: string 45 - jsonPath: .status.conditions[?(@.type=="Updating")].status 46 description: When at least one of machine is not either not updated or is in the 47 process of updating to the desired machine config. 48 name: Updating 49 type: string 50 - jsonPath: .status.conditions[?(@.type=="Degraded")].status 51 description: When progress is blocked on updating one or more nodes, or the pool 52 configuration is failing. 53 name: Degraded 54 type: string 55 - jsonPath: .status.machineCount 56 description: Total number of machines in the machine config pool 57 name: MachineCount 58 type: number 59 - jsonPath: .status.readyMachineCount 60 description: Total number of ready machines targeted by the pool 61 name: ReadyMachineCount 62 type: number 63 - jsonPath: .status.updatedMachineCount 64 description: Total number of machines targeted by the pool that have the CurrentMachineConfig 65 as their config 66 name: UpdatedMachineCount 67 type: number 68 - jsonPath: .status.degradedMachineCount 69 description: Total number of machines marked degraded (or unreconcilable) 70 name: DegradedMachineCount 71 type: number 72 - jsonPath: .metadata.creationTimestamp 73 name: Age 74 type: date 75 schema: 76 openAPIV3Schema: 77 description: MachineConfigPool describes a pool of MachineConfigs. 78 type: object 79 properties: 80 apiVersion: 81 description: 'APIVersion defines the versioned schema of this representation 82 of an object. Servers should convert recognized schemas to the latest 83 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 84 type: string 85 kind: 86 description: 'Kind is a string value representing the REST resource this 87 object represents. Servers may infer this from the endpoint the client 88 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 89 type: string 90 metadata: 91 type: object 92 spec: 93 description: MachineConfigPoolSpec is the spec for MachineConfigPool resource. 94 type: object 95 properties: 96 configuration: 97 description: The targeted MachineConfig object for the machine config 98 pool. 99 type: object 100 properties: 101 apiVersion: 102 description: API version of the referent. 103 type: string 104 fieldPath: 105 description: 'If referring to a piece of an object instead of an 106 entire object, this string should contain a valid JSON/Go field 107 access statement, such as desiredState.manifest.containers[2]. 108 For example, if the object reference is to a container within 109 a pod, this would take on a value like: "spec.containers{name}" 110 (where "name" refers to the name of the container that triggered 111 the event) or if no container name is specified "spec.containers[2]" 112 (container with index 2 in this pod). This syntax is chosen only 113 to have some well-defined way of referencing a part of an object. 114 TODO: this design is not final and this field is subject to change 115 in the future.' 116 type: string 117 kind: 118 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 119 type: string 120 name: 121 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 122 type: string 123 namespace: 124 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 125 type: string 126 resourceVersion: 127 description: 'Specific resourceVersion to which this reference is 128 made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 129 type: string 130 source: 131 description: source is the list of MachineConfig objects that were 132 used to generate the single MachineConfig object specified in 133 `content`. 134 type: array 135 items: 136 description: ObjectReference contains enough information to let 137 you inspect or modify the referred object. 138 type: object 139 properties: 140 apiVersion: 141 description: API version of the referent. 142 type: string 143 fieldPath: 144 description: 'If referring to a piece of an object instead 145 of an entire object, this string should contain a valid 146 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 147 For example, if the object reference is to a container within 148 a pod, this would take on a value like: "spec.containers{name}" 149 (where "name" refers to the name of the container that triggered 150 the event) or if no container name is specified "spec.containers[2]" 151 (container with index 2 in this pod). This syntax is chosen 152 only to have some well-defined way of referencing a part 153 of an object. TODO: this design is not final and this field 154 is subject to change in the future.' 155 type: string 156 kind: 157 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 158 type: string 159 name: 160 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 161 type: string 162 namespace: 163 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 164 type: string 165 resourceVersion: 166 description: 'Specific resourceVersion to which this reference 167 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 168 type: string 169 uid: 170 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 171 type: string 172 uid: 173 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 174 type: string 175 machineConfigSelector: 176 description: machineConfigSelector specifies a label selector for MachineConfigs. 177 Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 178 on how label and selectors work. 179 type: object 180 properties: 181 matchExpressions: 182 description: matchExpressions is a list of label selector requirements. 183 The requirements are ANDed. 184 type: array 185 items: 186 description: A label selector requirement is a selector that contains 187 values, a key, and an operator that relates the key and values. 188 type: object 189 required: 190 - key 191 - operator 192 properties: 193 key: 194 description: key is the label key that the selector applies 195 to. 196 type: string 197 operator: 198 description: operator represents a key's relationship to a 199 set of values. Valid operators are In, NotIn, Exists and 200 DoesNotExist. 201 type: string 202 values: 203 description: values is an array of string values. If the operator 204 is In or NotIn, the values array must be non-empty. If the 205 operator is Exists or DoesNotExist, the values array must 206 be empty. This array is replaced during a strategic merge 207 patch. 208 type: array 209 items: 210 type: string 211 matchLabels: 212 description: matchLabels is a map of {key,value} pairs. A single 213 {key,value} in the matchLabels map is equivalent to an element 214 of matchExpressions, whose key field is "key", the operator is 215 "In", and the values array contains only "value". The requirements 216 are ANDed. 217 type: object 218 additionalProperties: 219 type: string 220 maxUnavailable: 221 description: maxUnavailable specifies the percentage or constant number 222 of machines that can be updating at any given time. default is 1. 223 anyOf: 224 - type: integer 225 - type: string 226 x-kubernetes-int-or-string: true 227 nodeSelector: 228 description: nodeSelector specifies a label selector for Machines 229 type: object 230 properties: 231 matchExpressions: 232 description: matchExpressions is a list of label selector requirements. 233 The requirements are ANDed. 234 type: array 235 items: 236 description: A label selector requirement is a selector that contains 237 values, a key, and an operator that relates the key and values. 238 type: object 239 required: 240 - key 241 - operator 242 properties: 243 key: 244 description: key is the label key that the selector applies 245 to. 246 type: string 247 operator: 248 description: operator represents a key's relationship to a 249 set of values. Valid operators are In, NotIn, Exists and 250 DoesNotExist. 251 type: string 252 values: 253 description: values is an array of string values. If the operator 254 is In or NotIn, the values array must be non-empty. If the 255 operator is Exists or DoesNotExist, the values array must 256 be empty. This array is replaced during a strategic merge 257 patch. 258 type: array 259 items: 260 type: string 261 matchLabels: 262 description: matchLabels is a map of {key,value} pairs. A single 263 {key,value} in the matchLabels map is equivalent to an element 264 of matchExpressions, whose key field is "key", the operator is 265 "In", and the values array contains only "value". The requirements 266 are ANDed. 267 type: object 268 additionalProperties: 269 type: string 270 paused: 271 description: paused specifies whether or not changes to this machine 272 config pool should be stopped. This includes generating new desiredMachineConfig 273 and update of machines. 274 type: boolean 275 status: 276 description: MachineConfigPoolStatus is the status for MachineConfigPool 277 resource. 278 type: object 279 properties: 280 conditions: 281 description: conditions represents the latest available observations 282 of current state. 283 type: array 284 items: 285 description: MachineConfigPoolCondition contains condition information 286 for an MachineConfigPool. 287 type: object 288 properties: 289 lastTransitionTime: 290 description: lastTransitionTime is the timestamp corresponding 291 to the last status change of this condition. 292 type: string 293 format: date-time 294 nullable: true 295 message: 296 description: message is a human readable description of the details 297 of the last transition, complementing reason. 298 type: string 299 reason: 300 description: reason is a brief machine readable explanation for 301 the condition's last transition. 302 type: string 303 status: 304 description: status of the condition, one of ('True', 'False', 305 'Unknown'). 306 type: string 307 type: 308 description: type of the condition, currently ('Done', 'Updating', 309 'Failed'). 310 type: string 311 configuration: 312 description: configuration represents the current MachineConfig object 313 for the machine config pool. 314 type: object 315 properties: 316 apiVersion: 317 description: API version of the referent. 318 type: string 319 fieldPath: 320 description: 'If referring to a piece of an object instead of an 321 entire object, this string should contain a valid JSON/Go field 322 access statement, such as desiredState.manifest.containers[2]. 323 For example, if the object reference is to a container within 324 a pod, this would take on a value like: "spec.containers{name}" 325 (where "name" refers to the name of the container that triggered 326 the event) or if no container name is specified "spec.containers[2]" 327 (container with index 2 in this pod). This syntax is chosen only 328 to have some well-defined way of referencing a part of an object. 329 TODO: this design is not final and this field is subject to change 330 in the future.' 331 type: string 332 kind: 333 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 334 type: string 335 name: 336 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 337 type: string 338 namespace: 339 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 340 type: string 341 resourceVersion: 342 description: 'Specific resourceVersion to which this reference is 343 made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 344 type: string 345 source: 346 description: source is the list of MachineConfig objects that were 347 used to generate the single MachineConfig object specified in 348 `content`. 349 type: array 350 items: 351 description: ObjectReference contains enough information to let 352 you inspect or modify the referred object. 353 type: object 354 properties: 355 apiVersion: 356 description: API version of the referent. 357 type: string 358 fieldPath: 359 description: 'If referring to a piece of an object instead 360 of an entire object, this string should contain a valid 361 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 362 For example, if the object reference is to a container within 363 a pod, this would take on a value like: "spec.containers{name}" 364 (where "name" refers to the name of the container that triggered 365 the event) or if no container name is specified "spec.containers[2]" 366 (container with index 2 in this pod). This syntax is chosen 367 only to have some well-defined way of referencing a part 368 of an object. TODO: this design is not final and this field 369 is subject to change in the future.' 370 type: string 371 kind: 372 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 373 type: string 374 name: 375 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 376 type: string 377 namespace: 378 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 379 type: string 380 resourceVersion: 381 description: 'Specific resourceVersion to which this reference 382 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 383 type: string 384 uid: 385 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 386 type: string 387 uid: 388 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 389 type: string 390 degradedMachineCount: 391 description: degradedMachineCount represents the total number of machines 392 marked degraded (or unreconcilable). A node is marked degraded if 393 applying a configuration failed.. 394 type: integer 395 format: int32 396 machineCount: 397 description: machineCount represents the total number of machines in 398 the machine config pool. 399 type: integer 400 format: int32 401 observedGeneration: 402 description: observedGeneration represents the generation observed by 403 the controller. 404 type: integer 405 format: int64 406 readyMachineCount: 407 description: readyMachineCount represents the total number of ready 408 machines targeted by the pool. 409 type: integer 410 format: int32 411 unavailableMachineCount: 412 description: unavailableMachineCount represents the total number of 413 unavailable (non-ready) machines targeted by the pool. A node is marked 414 unavailable if it is in updating state or NodeReady condition is false. 415 type: integer 416 format: int32 417 updatedMachineCount: 418 description: updatedMachineCount represents the total number of machines 419 targeted by the pool that have the CurrentMachineConfig as their config. 420 type: integer 421 format: int32