-
Notifications
You must be signed in to change notification settings - Fork 308
Expand file tree
/
Copy pathmetal3.io_baremetalhosts.yaml
More file actions
1361 lines (1358 loc) · 64.6 KB
/
metal3.io_baremetalhosts.yaml
File metadata and controls
1361 lines (1358 loc) · 64.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
name: baremetalhosts.metal3.io
spec:
group: metal3.io
names:
kind: BareMetalHost
listKind: BareMetalHostList
plural: baremetalhosts
shortNames:
- bmh
- bmhost
singular: baremetalhost
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Operational status
jsonPath: .status.operationalStatus
name: Status
priority: 1
type: string
- description: Provisioning status
jsonPath: .status.provisioning.state
name: State
type: string
- description: Consumer using this host
jsonPath: .spec.consumerRef.name
name: Consumer
type: string
- description: Address of management controller
jsonPath: .spec.bmc.address
name: BMC
priority: 1
type: string
- description: Whether the host is online or not
jsonPath: .spec.online
name: Online
type: string
- description: Type of the most recent error
jsonPath: .status.errorType
name: Error
type: string
- description: Time duration since creation of BaremetalHost
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: BareMetalHost is the Schema for the baremetalhosts API
properties:
apiVersion:
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
type: string
kind:
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
type: string
metadata:
type: object
spec:
description: BareMetalHostSpec defines the desired state of BareMetalHost.
properties:
architecture:
description: |-
CPU architecture of the host, e.g. "x86_64" or "aarch64". If unset,
eventually populated by inspection.
type: string
automatedCleaningMode:
default: metadata
description: |-
When set to disabled, automated cleaning will be skipped
during provisioning and deprovisioning.
enum:
- metadata
- disabled
type: string
bmc:
description: |-
How do we connect to the BMC (Baseboard Management Controller) on
the host?
properties:
address:
description: |-
Address holds the URL for accessing the controller on the network.
The scheme part designates the driver to use with the host.
type: string
credentialsName:
description: |-
The name of the secret containing the BMC credentials (requires
keys "username" and "password").
type: string
disableCertificateVerification:
description: |-
DisableCertificateVerification disables verification of server
certificates when using HTTPS to connect to the BMC. This is
required when the server certificate is self-signed, but is
insecure because it allows a man-in-the-middle to intercept the
connection.
type: boolean
required:
- address
- credentialsName
type: object
bootMACAddress:
description: |-
The MAC address of the NIC used for provisioning the host. In case
of network boot, this is the MAC address of the PXE booting
interface. The MAC address of the BMC must never be used here!
pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'
type: string
bootMode:
description: |-
Select the method of initializing the hardware during boot.
Defaults to UEFI. Legacy boot should only be used for hardware that
does not support UEFI correctly. Set to UEFISecureBoot to turn
secure boot on automatically after provisioning.
enum:
- UEFI
- UEFISecureBoot
- legacy
type: string
consumerRef:
description: |-
ConsumerRef can be used to store information about something
that is using a host. When it is not empty, the host is
considered "in use". The common use case is a link to a Machine
resource when the host is used by Cluster API.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
type: string
kind:
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
customDeploy:
description: |-
A custom deploy procedure. This is an advanced feature that allows
using a custom deploy step provided by a site-specific deployment
ramdisk. Most users will want to use "image" instead. Setting this
field triggers provisioning.
properties:
method:
description: |-
Custom deploy method name.
This name is specific to the deploy ramdisk used. If you don't have
a custom deploy ramdisk, you shouldn't use CustomDeploy.
type: string
required:
- method
type: object
description:
description: Description is a human-entered text used to help identify
the host.
type: string
disablePowerOff:
description: |-
When set to true, power off of the node will be disabled,
instead, a reboot will be used in place of power on/off
type: boolean
externallyProvisioned:
description: |-
ExternallyProvisioned means something else has provisioned the
image running on the host, and the operator should only manage
the power status. This field is used for integration with already
provisioned hosts and when pivoting hosts between clusters.
This field can be set to true either:
1. During initial host creation (e.g., for pre-provisioned hosts)
2. After inspection completes when the host reaches Available state
When used in environments with Cluster API Provider Metal3 (CAPM3),
ensure hosts are labeled appropriately so CAPM3's host selector can
distinguish them from CAPM3-managed hosts. If unsure, leave this
field as false.
type: boolean
firmware:
description: |-
Firmware (BIOS) configuration for bare metal server. If set, the
requested settings will be applied before the host is provisioned.
Deprecated: no longer supported by any driver. An alternative is to
use HostFirmwareSettings resources that allow changing arbitrary
values and support the generic Redfish-based drivers.
properties:
simultaneousMultithreadingEnabled:
description: Allows a single physical processor core to appear
as several logical processors.
enum:
- true
- false
type: boolean
sriovEnabled:
description: SR-IOV support enables a hypervisor to create virtual
instances of a PCI-express device, potentially increasing performance.
enum:
- true
- false
type: boolean
virtualizationEnabled:
description: Supports the virtualization of platform hardware.
enum:
- true
- false
type: boolean
type: object
hardwareProfile:
description: |-
What is the name of the hardware profile for this host?
Hardware profiles are deprecated and should not be used.
Use the separate fields Architecture and RootDeviceHints instead.
Set to "empty" to prepare for the future version of the API
without hardware profiles.
type: string
image:
description: |-
Image holds the details of the image to be provisioned. Populating
the image will cause the host to start provisioning.
properties:
checksum:
description: |-
Checksum is the checksum for the image. Required for all formats
except for "live-iso" and OCI images (oci://).
type: string
checksumType:
description: |-
ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512.
The special value "auto" can be used to detect the algorithm from the checksum.
If missing, MD5 is used. If in doubt, use "auto".
enum:
- md5
- sha256
- sha512
- auto
type: string
format:
description: |-
Format contains the format of the image (raw, qcow2, ...).
When set to "live-iso", an ISO 9660 image referenced by the url will
be live-booted and not deployed to disk.
enum:
- raw
- qcow2
- vdi
- vmdk
- live-iso
type: string
url:
description: URL is a location of an image to deploy.
type: string
required:
- url
type: object
inspectionMode:
description: |-
Specifies the mode for host inspection.
"disabled" - no inspection will be performed
"agent" - normal agent-based inspection will run
enum:
- disabled
- agent
type: string
metaData:
description: |-
MetaData holds the reference to the Secret containing host metadata
which is passed to the Config Drive. By default, metadata will be
generated for the host, so most users do not need to set this field.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
networkData:
description: |-
NetworkData holds the reference to the Secret containing network
configuration which is passed to the Config Drive and interpreted
by the first boot software such as cloud-init.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
online:
description: |-
Should the host be powered on? If the host is currently in a stable
state (e.g. provisioned), its power state will be forced to match
this value.
type: boolean
preprovisioningExtraKernelParams:
description: |-
The value of the kernel commandline argument list that will be passed
to the preprovisioning agent's kernel during boot.
type: string
preprovisioningNetworkDataName:
description: |-
PreprovisioningNetworkDataName is the name of the Secret in the
local namespace containing network configuration which is passed to
the preprovisioning image, and to the Config Drive if not overridden
by specifying NetworkData.
type: string
raid:
description: |-
RAID configuration for bare metal server. If set, the RAID settings
will be applied before the host is provisioned. If not, the current
settings will not be modified. Only one of the sub-fields
hardwareRAIDVolumes and softwareRAIDVolumes can be set at the same
time.
properties:
hardwareRAIDVolumes:
description: |-
The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume.
You can set the value of this field to `[]` to clear all the hardware RAID configurations.
items:
description: HardwareRAIDVolume defines the desired configuration
of volume in hardware RAID.
properties:
controller:
description: The name of the RAID controller to use.
type: string
level:
description: |-
RAID level for the logical disk. The following levels are supported:
0, 1, 2, 5, 6, 1+0, 5+0, 6+0 (drivers may support only some of them).
enum:
- "0"
- "1"
- "2"
- "5"
- "6"
- 1+0
- 5+0
- 6+0
type: string
name:
description: |-
Name of the volume. Should be unique within the Node. If not
specified, the name will be auto-generated.
maxLength: 64
type: string
numberOfPhysicalDisks:
description: |-
Integer, number of physical disks to use for the logical disk.
Defaults to minimum number of disks required for the particular RAID
level.
minimum: 1
type: integer
physicalDisks:
description: |-
Optional list of physical disk names to be used for the hardware RAID volumes. The disk names are interpreted
by the hardware RAID controller, and the format is hardware specific.
items:
type: string
type: array
rotational:
description: |-
Select disks with only rotational (if set to true) or solid-state
(if set to false) storage. By default, any disks can be picked.
type: boolean
sizeGibibytes:
description: |-
Size of the logical disk to be created in GiB. If unspecified or
set be 0, the maximum capacity of disk will be used for logical
disk.
minimum: 0
type: integer
required:
- level
type: object
nullable: true
type: array
softwareRAIDVolumes:
description: |-
The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume.
If HardwareRAIDVolumes is set this item will be invalid.
The number of created Software RAID devices must be 1 or 2.
If there is only one Software RAID device, it has to be a RAID-1.
If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0.
As the first RAID device will be the deployment device,
enforcing a RAID-1 reduces the risk of ending up with a non-booting host in case of a disk failure.
Software RAID will always be deleted.
items:
description: SoftwareRAIDVolume defines the desired configuration
of volume in software RAID.
properties:
level:
description: |-
RAID level for the logical disk. The following levels are supported:
0, 1 and 1+0.
enum:
- "0"
- "1"
- 1+0
type: string
physicalDisks:
description: A list of device hints, the number of items
should be greater than or equal to 2.
items:
description: |-
RootDeviceHints holds the hints for specifying the storage location
for the root filesystem for the image.
properties:
deviceName:
description: |-
A Linux device name like "/dev/vda", or a by-path link to it like
"/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match
the actual value exactly.
type: string
hctl:
description: |-
A SCSI bus address like 0:0:0:0. The hint must match the actual
value exactly.
type: string
minSizeGigabytes:
description: The minimum size of the device in Gigabytes.
minimum: 0
type: integer
model:
description: |-
A vendor-specific device identifier. The hint can be a
substring of the actual value.
type: string
rotational:
description: True if the device should use spinning
media, false otherwise.
type: boolean
serialNumber:
description: |-
Device serial number. The hint must match the actual value
exactly.
type: string
vendor:
description: |-
The name of the vendor or manufacturer of the device. The hint
can be a substring of the actual value.
type: string
wwn:
description: |-
Unique storage identifier. The hint must match the actual value
exactly.
type: string
wwnVendorExtension:
description: |-
Unique vendor storage identifier. The hint must match the
actual value exactly.
type: string
wwnWithExtension:
description: |-
Unique storage identifier with the vendor extension
appended. The hint must match the actual value exactly.
type: string
type: object
minItems: 2
type: array
sizeGibibytes:
description: |-
Size of the logical disk to be created in GiB.
If unspecified or set be 0, the maximum capacity of disk will be used for logical disk.
minimum: 0
type: integer
required:
- level
type: object
maxItems: 2
nullable: true
type: array
type: object
rootDeviceHints:
description: |-
Provide guidance about how to choose the device for the image
being provisioned. The default is currently to use /dev/sda as
the root device.
properties:
deviceName:
description: |-
A Linux device name like "/dev/vda", or a by-path link to it like
"/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match
the actual value exactly.
type: string
hctl:
description: |-
A SCSI bus address like 0:0:0:0. The hint must match the actual
value exactly.
type: string
minSizeGigabytes:
description: The minimum size of the device in Gigabytes.
minimum: 0
type: integer
model:
description: |-
A vendor-specific device identifier. The hint can be a
substring of the actual value.
type: string
rotational:
description: True if the device should use spinning media, false
otherwise.
type: boolean
serialNumber:
description: |-
Device serial number. The hint must match the actual value
exactly.
type: string
vendor:
description: |-
The name of the vendor or manufacturer of the device. The hint
can be a substring of the actual value.
type: string
wwn:
description: |-
Unique storage identifier. The hint must match the actual value
exactly.
type: string
wwnVendorExtension:
description: |-
Unique vendor storage identifier. The hint must match the
actual value exactly.
type: string
wwnWithExtension:
description: |-
Unique storage identifier with the vendor extension
appended. The hint must match the actual value exactly.
type: string
type: object
taints:
description: |-
Taints is the full, authoritative list of taints to apply to
the corresponding Machine. This list will overwrite any
modifications made to the Machine on an ongoing basis.
items:
description: |-
The node this Taint is attached to has the "effect" on
any pod that does not tolerate the Taint.
properties:
effect:
description: |-
Required. The effect of the taint on pods
that do not tolerate the taint.
Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: Required. The taint key to be applied to a node.
type: string
timeAdded:
description: TimeAdded represents the time at which the taint
was added.
format: date-time
type: string
value:
description: The taint value corresponding to the taint key.
type: string
required:
- effect
- key
type: object
type: array
userData:
description: |-
UserData holds the reference to the Secret containing the user data
which is passed to the Config Drive and interpreted by the
first-boot software such as cloud-init. The format of user data is
specific to the first-boot software.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
required:
- online
type: object
status:
description: BareMetalHostStatus defines the observed state of BareMetalHost.
properties:
conditions:
description: Conditions defines current service state of the BareMetalHost.
items:
description: Condition contains details for one aspect of the current
state of this API Resource.
properties:
lastTransitionTime:
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.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
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.
format: int64
minimum: 0
type: integer
reason:
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.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
maxItems: 32
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
errorCount:
default: 0
description: ErrorCount records how many times the host has encoutered
an error since the last successful operation
type: integer
errorMessage:
description: The last error message reported by the provisioning subsystem.
type: string
errorType:
description: |-
ErrorType indicates the type of failure encountered when the
OperationalStatus is OperationalStatusError
enum:
- provisioned registration error
- registration error
- inspection error
- preparation error
- provisioning error
- power management error
- servicing error
type: string
goodCredentials:
description: The last credentials we were able to validate as working.
properties:
credentials:
description: |-
SecretReference represents a Secret Reference. It has enough information to retrieve secret
in any namespace
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which the
secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
credentialsVersion:
type: string
type: object
hardware:
description: |-
The hardware discovered to exist on the host.
This field will be removed in the next API version in favour of the
separate HardwareData resource.
properties:
cpu:
description: Details of the CPU(s) in the system.
properties:
arch:
type: string
clockMegahertz:
description: ClockSpeed is a clock speed in MHz
format: double
type: number
count:
type: integer
flags:
items:
type: string
type: array
model:
type: string
type: object
firmware:
description: System firmware information.
properties:
bios:
description: The BIOS for this firmware
properties:
date:
description: The release/build date for this BIOS
type: string
vendor:
description: The vendor name for this BIOS
type: string
version:
description: The version of the BIOS
type: string
type: object
type: object
hostname:
description: Name of the host at the inspection time.
type: string
nics:
description: List of network interfaces for the host.
items:
description: NIC describes one network interface on the host.
properties:
ip:
description: |-
The IP address of the interface. This will be an IPv4 or IPv6 address
if one is present. If both IPv4 and IPv6 addresses are present in a
dual-stack environment, two nics will be output, one with each IP.
type: string
lldp:
description: LLDP data for this interface
properties:
portID:
description: The switch port ID from LLDP
type: string
switchID:
description: The switch chassis ID from LLDP
type: string
switchSystemName:
description: The switch system name from LLDP
type: string
type: object
mac:
description: The device MAC address
pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'
type: string
model:
description: The vendor and product IDs of the NIC, e.g.
"0x8086 0x1572"
type: string
name:
description: The name of the network interface, e.g. "en0"
type: string
pciAddress:
description: The NIC PCI address
type: string
pxe:
description: Whether the NIC is PXE Bootable
type: boolean
speedGbps:
description: The speed of the device in Gigabits per second
type: integer
vlanId:
description: The untagged VLAN ID
format: int32
maximum: 4094
minimum: 0
type: integer
vlans:
description: The VLANs available
items:
description: VLAN represents the name and ID of a VLAN.
properties:
id:
description: VLANID is a 12-bit 802.1Q VLAN identifier
format: int32
maximum: 4094
minimum: 0
type: integer
name:
type: string
type: object
type: array
type: object
type: array
ramMebibytes:
description: The host's amount of memory in Mebibytes.
type: integer
storage:
description: List of storage (disk, SSD, etc.) available to the
host.
items:
description: Storage describes one storage device (disk, SSD,
etc.) on the host.
properties:
alternateNames:
description: |-
A list of alternate Linux device names of the disk, e.g. "/dev/sda".
Note that this list is not exhaustive, and names may not be stable
across reboots.
items:
type: string
type: array
hctl:
description: The SCSI location of the device
type: string
model:
description: Hardware model
type: string
name:
description: |-
A Linux device name of the disk, e.g.
"/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name
that is stable across reboots if one is available.
type: string
rotational:
description: |-
Whether this disk represents rotational storage.
This field is not recommended for usage, please
prefer using 'Type' field instead, this field
will be deprecated eventually.
type: boolean
serialNumber:
description: The serial number of the device
type: string
sizeBytes:
description: The size of the disk in Bytes
format: int64
type: integer
type:
description: 'Device type, one of: HDD, SSD, NVME.'
enum:
- HDD
- SSD
- NVME
type: string
vendor:
description: The name of the vendor of the device
type: string
wwn:
description: The WWN of the device
type: string
wwnVendorExtension:
description: The WWN Vendor extension of the device
type: string
wwnWithExtension:
description: The WWN with the extension
type: string
type: object
type: array
systemVendor:
description: System vendor information.
properties:
manufacturer:
type: string
productName:
type: string
serialNumber:
type: string
type: object
type: object
hardwareProfile:
description: |-
The name of the profile matching the hardware details.
Hardware profiles are deprecated and should not be relied on.
type: string
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
operationHistory:
description: |-
OperationHistory holds information about operations performed
on this host.
properties:
deprovision:
description: |-
OperationMetric contains metadata about an operation (inspection,
provisioning, etc.) used for tracking metrics.
properties:
end:
format: date-time
nullable: true
type: string
start:
format: date-time
nullable: true
type: string
type: object
inspect:
description: |-
OperationMetric contains metadata about an operation (inspection,
provisioning, etc.) used for tracking metrics.
properties:
end:
format: date-time
nullable: true
type: string
start:
format: date-time
nullable: true
type: string
type: object
provision:
description: |-
OperationMetric contains metadata about an operation (inspection,
provisioning, etc.) used for tracking metrics.
properties:
end:
format: date-time
nullable: true
type: string
start:
format: date-time
nullable: true
type: string
type: object
register:
description: |-
OperationMetric contains metadata about an operation (inspection,
provisioning, etc.) used for tracking metrics.
properties:
end:
format: date-time
nullable: true
type: string
start:
format: date-time
nullable: true
type: string
type: object
type: object
operationalStatus:
description: OperationalStatus holds the status of the host
enum:
- ""