Factory/metal3-chart/charts/baremetal-operator/crds/customresource-baremetalhosts.yaml

1144 lines
55 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: baremetal-operator-system/baremetal-operator-serving-cert
controller-gen.kubebuilder.io/version: v0.12.1
labels:
clusterctl.cluster.x-k8s.io: ""
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 avoided
during provisioning and deprovisioning.
enum:
- metadata
- disabled
type: string
bmc:
description: How do we connect to the BMC?
properties:
address:
description: Address holds the URL for accessing the controller
on the network.
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: Which MAC address will PXE boot? This is optional for
some types, but required for libvirt VMs driven by vbmc.
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.
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".
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. TODO: this design is not final and this field is
subject to change in the future.'
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.
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
externallyProvisioned:
description: ExternallyProvisioned means something else is managing
the image running on the host and the operator should only manage
the power status and hardware inventory inspection. If the Image
field is filled in, this field is ignored.
type: boolean
firmware:
description: BIOS configuration for bare metal server
properties:
simultaneousMultithreadingEnabled:
description: 'Allows a single physical processor core to appear
as several logical processors. This supports following options:
true, false.'
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.
This supports following options: true, false.'
enum:
- true
- false
type: boolean
virtualizationEnabled:
description: 'Supports the virtualization of platform hardware.
This supports following options: true, false.'
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.
properties:
checksum:
description: Checksum is the checksum for the image.
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: DiskFormat contains the format of the image (raw,
qcow2, ...). Needs to be set to raw for raw images streaming.
Note live-iso means an iso referenced by the url will be live-booted
and not deployed to disk, and in this case the checksum options
are not required and if specified will be ignored.
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
metaData:
description: MetaData holds the reference to the Secret containing
host metadata (e.g. meta_data.json) which is passed to the Config
Drive.
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 (e.g content of network_data.json) which is
passed to the Config Drive.
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 server be online?
type: boolean
preprovisioningNetworkDataName:
description: PreprovisioningNetworkDataName is the name of the Secret
in the local namespace containing network configuration (e.g content
of network_data.json) 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
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.'
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, volume 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 or solid-state
storage
type: boolean
sizeGibibytes:
description: Size (Integer) 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 node 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;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 (Integer) 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.
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. It is only written for NoExecute taints.
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 to be passed to the host before it boots.
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:
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
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.
properties:
cpu:
description: CPU describes one processor on the host.
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: Firmware describes the firmware on the host.
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:
type: string
nics:
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
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
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:
type: integer
storage:
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: HardwareSystemVendor stores details about the whole
hardware system.
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:
- ""
- OK
- discovered
- error
- delayed
- detached
type: string
poweredOn:
description: indicator for whether or not the host is powered on
type: boolean
provisioning:
description: Information tracked by the provisioner.
properties:
ID:
description: The machine's UUID from the underlying provisioning
tool
type: string
bootMode:
description: BootMode indicates the boot mode used to provision
the node
enum:
- UEFI
- UEFISecureBoot
- legacy
type: string
customDeploy:
description: Custom deploy procedure applied to the host.
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
firmware:
description: The Bios set by the user
properties:
simultaneousMultithreadingEnabled:
description: 'Allows a single physical processor core to appear
as several logical processors. This supports following options:
true, false.'
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. This supports following options: true, false.'
enum:
- true
- false
type: boolean
virtualizationEnabled:
description: 'Supports the virtualization of platform hardware.
This supports following options: true, false.'
enum:
- true
- false
type: boolean
type: object
image:
description: Image holds the details of the last image successfully
provisioned to the host.
properties:
checksum:
description: Checksum is the checksum for the image.
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: DiskFormat contains the format of the image (raw,
qcow2, ...). Needs to be set to raw for raw images streaming.
Note live-iso means an iso referenced by the url will be
live-booted and not deployed to disk, and in this case the
checksum options are not required and if specified will
be ignored.
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
raid:
description: The Raid set by the user
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.'
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, volume 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 or solid-state
storage
type: boolean
sizeGibibytes:
description: Size (Integer) 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 node 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;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 (Integer) 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: The RootDevicehints set by the user
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
state:
description: An indiciator for what the provisioner is doing with
the host.
type: string
required:
- ID
- state
type: object
triedCredentials:
description: the last credentials we sent to the provisioning backend
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
required:
- errorCount
- errorMessage
- operationalStatus
- poweredOn
- provisioning
type: object
type: object
served: true
storage: true
subresources:
status: {}