Skip to content

Commit 350a605

Browse files
Copy over hv crd
1 parent d1e6142 commit 350a605

2 files changed

Lines changed: 315 additions & 5 deletions

File tree

charts/kvm-node-agent/crds/hypervisor-crd.yaml

Lines changed: 158 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
---
12
apiVersion: apiextensions.k8s.io/v1
23
kind: CustomResourceDefinition
34
metadata:
45
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
67
name: hypervisors.kvm.cloud.sap
78
spec:
89
group: kvm.cloud.sap
@@ -34,6 +35,9 @@ spec:
3435
- jsonPath: .status.conditions[?(@.type=="Ready")].reason
3536
name: State
3637
type: string
38+
- jsonPath: .status.conditions[?(@.type=="Tainted")].message
39+
name: Taint
40+
type: string
3741
- jsonPath: .spec.lifecycleEnabled
3842
name: Lifecycle
3943
type: boolean
@@ -106,6 +110,15 @@ spec:
106110
items:
107111
type: string
108112
type: array
113+
allowedProjects:
114+
default: []
115+
description: |-
116+
AllowedProjects defines which openstack projects are allowed to schedule
117+
instances on this hypervisor. The values of this list should be project
118+
uuids. If left empty, all projects are allowed.
119+
items:
120+
type: string
121+
type: array
109122
createCertManagerCertificate:
110123
default: false
111124
description: |-
@@ -138,6 +151,16 @@ spec:
138151
description: LifecycleEnabled enables the lifecycle management of
139152
the hypervisor via hypervisor-operator.
140153
type: boolean
154+
maintenance:
155+
description: Maintenance indicates whether the hypervisor is in maintenance
156+
mode.
157+
enum:
158+
- ""
159+
- manual
160+
- auto
161+
- ha
162+
- termination
163+
type: string
141164
reboot:
142165
default: false
143166
description: Reboot request an reboot after successful installation
@@ -153,6 +176,7 @@ spec:
153176
type: string
154177
required:
155178
- aggregates
179+
- allowedProjects
156180
- createCertManagerCertificate
157181
- customTraits
158182
- evacuateOnReboot
@@ -170,8 +194,17 @@ spec:
170194
items:
171195
type: string
172196
type: array
197+
allocation:
198+
additionalProperties:
199+
anyOf:
200+
- type: integer
201+
- type: string
202+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
203+
x-kubernetes-int-or-string: true
204+
description: Auto-discovered resource allocation of all hosted VMs.
205+
type: object
173206
capabilities:
174-
description: The capabilities of the hypervisors as reported by libvirt.
207+
description: Auto-discovered capabilities as reported by libvirt.
175208
properties:
176209
cpuArch:
177210
default: unknown
@@ -194,6 +227,47 @@ spec:
194227
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
195228
x-kubernetes-int-or-string: true
196229
type: object
230+
capacity:
231+
additionalProperties:
232+
anyOf:
233+
- type: integer
234+
- type: string
235+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
236+
x-kubernetes-int-or-string: true
237+
description: Auto-discovered capacity of the hypervisor.
238+
type: object
239+
cells:
240+
description: Auto-discovered cells on this hypervisor.
241+
items:
242+
description: Cell represents a NUMA cell on the hypervisor.
243+
properties:
244+
allocation:
245+
additionalProperties:
246+
anyOf:
247+
- type: integer
248+
- type: string
249+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
250+
x-kubernetes-int-or-string: true
251+
description: Auto-discovered resource allocation of all hosted
252+
VMs in this cell.
253+
type: object
254+
capacity:
255+
additionalProperties:
256+
anyOf:
257+
- type: integer
258+
- type: string
259+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
260+
x-kubernetes-int-or-string: true
261+
description: Auto-discovered capacity of this cell.
262+
type: object
263+
cellID:
264+
description: Cell ID.
265+
format: int64
266+
type: integer
267+
required:
268+
- cellID
269+
type: object
270+
type: array
197271
conditions:
198272
description: Represents the Hypervisor node conditions.
199273
items:
@@ -251,6 +325,76 @@ spec:
251325
- type
252326
type: object
253327
type: array
328+
domainCapabilities:
329+
description: |-
330+
Auto-discovered domain capabilities relevant to check if a VM
331+
can be scheduled on the hypervisor.
332+
properties:
333+
arch:
334+
default: unknown
335+
description: The available domain cpu architecture.
336+
type: string
337+
hypervisorType:
338+
default: unknown
339+
description: The supported type of virtualization for domains,
340+
such as "ch".
341+
type: string
342+
supportedCpuModes:
343+
default: []
344+
description: |-
345+
Supported cpu modes for domains.
346+
347+
The format of this list is cpu mode, and if specified, a specific
348+
submode. For example, the take the following xml domain cpu definition:
349+
350+
<mode name='host-passthrough' supported='yes'>
351+
<enum name='hostPassthroughMigratable'/>
352+
</mode>
353+
354+
The corresponding entries in this list would be "host-passthrough" and
355+
"host-passthrough/migratable".
356+
items:
357+
type: string
358+
type: array
359+
supportedDevices:
360+
default: []
361+
description: |-
362+
Supported devices for domains.
363+
364+
The format of this list is the device type, and if specified, a specific
365+
model. For example, the take the following xml domain device definition:
366+
367+
<video supported='yes'>
368+
<enum name='modelType'>
369+
<value>nvidia</value>
370+
</enum>
371+
</video>
372+
373+
The corresponding entries in this list would be "video" and "video/nvidia".
374+
items:
375+
type: string
376+
type: array
377+
supportedFeatures:
378+
default: []
379+
description: |-
380+
Supported features for domains, such as "sev" or "sgx".
381+
382+
This is a flat list of supported features, meaning the following xml:
383+
384+
<features>
385+
<sev supported='no'/>
386+
<sgx supported='no'/>
387+
</features>
388+
389+
Would correspond to the entries "sev" and "sgx" in this list.
390+
items:
391+
type: string
392+
type: array
393+
type: object
394+
evicted:
395+
description: Evicted indicates whether the hypervisor is evicted.
396+
(no instances left with active maintenance mode)
397+
type: boolean
254398
hypervisorId:
255399
description: HypervisorID is the unique identifier of the hypervisor
256400
in OpenStack.
@@ -298,6 +442,14 @@ spec:
298442
firmwareVersion:
299443
description: FirmwareVersion
300444
type: string
445+
gardenLinuxCommitID:
446+
description: Represents the Garden Linux build commit id
447+
type: string
448+
gardenLinuxFeatures:
449+
description: Represents the Garden Linux Feature Set
450+
items:
451+
type: string
452+
type: array
301453
hardwareModel:
302454
description: HardwareModel
303455
type: string
@@ -319,6 +471,10 @@ spec:
319471
prettyVersion:
320472
description: PrettyVersion
321473
type: string
474+
variantID:
475+
description: Identifying a specific variant or edition of the
476+
operating system
477+
type: string
322478
version:
323479
description: Represents the Operating System version.
324480
type: string
@@ -362,4 +518,3 @@ spec:
362518
storage: true
363519
subresources:
364520
status: {}
365-

0 commit comments

Comments
 (0)