BareMetalHost [metal3.io/v1alpha1]

Description

BareMetalHost is the Schema for the baremetalhosts API

Type

object

Specification

PropertyTypeDescription

apiVersion

string

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

kind

string

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

metadata

ObjectMeta_v2 meta/v1

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

BareMetalHostSpec defines the desired state of BareMetalHost

status

object

BareMetalHostStatus defines the observed state of BareMetalHost

.spec

Description

BareMetalHostSpec defines the desired state of BareMetalHost

Type

object

Required

  • online
PropertyTypeDescription

automatedCleaningMode

string

When set to disabled, automated cleaning will be avoided during provisioning and deprovisioning.

bmc

object

How do we connect to the BMC?

bootMACAddress

string

Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc.

bootMode

string

Select the method of initializing the hardware during boot. Defaults to UEFI.

consumerRef

object

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”.

customDeploy

object

A custom deploy procedure.

description

string

Description is a human-entered text used to help identify the host

externallyProvisioned

boolean

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.

firmware

object

BIOS configuration for bare metal server

hardwareProfile

string

What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile.

image

object

Image holds the details of the image to be provisioned.

metaData

object

MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json which is passed to Config Drive).

networkData

object

NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json which is passed to Config Drive).

online

boolean

Should the server be online?

raid

object

RAID configuration for bare metal server

rootDeviceHints

object

Provide guidance about how to choose the device for the image being provisioned.

taints

array

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.

taints[]

object

The node this Taint is attached to has the “effect” on any pod that does not tolerate the Taint.

userData

object

UserData holds the reference to the Secret containing the user data to be passed to the host before it boots.

.spec.bmc

Description

How do we connect to the BMC?

Type

object

Required

  • address

  • credentialsName

PropertyTypeDescription

address

string

Address holds the URL for accessing the controller on the network.

credentialsName

string

The name of the secret containing the BMC credentials (requires keys “username” and “password”).

disableCertificateVerification

boolean

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.

.spec.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”.

Type

object

PropertyTypeDescription

apiVersion

string

API version of the referent.

fieldPath

string

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.

kind

string

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

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

uid

string

UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.customDeploy

Description

A custom deploy procedure.

Type

object

Required

  • method
PropertyTypeDescription

method

string

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.

.spec.firmware

Description

BIOS configuration for bare metal server

Type

object

PropertyTypeDescription

simultaneousMultithreadingEnabled

boolean

Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.

sriovEnabled

boolean

SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.

virtualizationEnabled

boolean

Supports the virtualization of platform hardware. This supports following options: true, false.

.spec.image

Description

Image holds the details of the image to be provisioned.

Type

object

Required

  • url
PropertyTypeDescription

checksum

string

Checksum is the checksum for the image.

checksumType

string

ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512

format

string

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.

url

string

URL is a location of an image to deploy.

.spec.metaData

Description

MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json which is passed to Config Drive).

Type

object

PropertyTypeDescription

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.networkData

Description

NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json which is passed to Config Drive).

Type

object

PropertyTypeDescription

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.raid

Description

RAID configuration for bare metal server

Type

object

PropertyTypeDescription

hardwareRAIDVolumes

array

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.

hardwareRAIDVolumes[]

object

HardwareRAIDVolume defines the desired configuration of volume in hardware RAID

softwareRAIDVolumes

array

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.

softwareRAIDVolumes[]

object

SoftwareRAIDVolume defines the desired configuration of volume in software RAID

.spec.raid.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.

Type

array

.spec.raid.hardwareRAIDVolumes[]

Description

HardwareRAIDVolume defines the desired configuration of volume in hardware RAID

Type

object

Required

  • level
PropertyTypeDescription

level

string

RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.

name

string

Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated.

numberOfPhysicalDisks

integer

Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level.

rotational

boolean

Select disks with only rotational or solid-state storage

sizeGibibytes

integer

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.

.spec.raid.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.

Type

array

.spec.raid.softwareRAIDVolumes[]

Description

SoftwareRAIDVolume defines the desired configuration of volume in software RAID

Type

object

Required

  • level
PropertyTypeDescription

level

string

RAID level for the logical disk. The following levels are supported: 0;1;1+0.

physicalDisks

array

A list of device hints, the number of items should be greater than or equal to 2.

physicalDisks[]

object

RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image.

sizeGibibytes

integer

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.

.spec.raid.softwareRAIDVolumes[].physicalDisks

Description

A list of device hints, the number of items should be greater than or equal to 2.

Type

array

.spec.raid.softwareRAIDVolumes[].physicalDisks[]

Description

RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image.

Type

object

PropertyTypeDescription

deviceName

string

A Linux device name like “/dev/vda”. The hint must match the actual value exactly.

hctl

string

A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly.

minSizeGigabytes

integer

The minimum size of the device in Gigabytes.

model

string

A vendor-specific device identifier. The hint can be a substring of the actual value.

rotational

boolean

True if the device should use spinning media, false otherwise.

serialNumber

string

Device serial number. The hint must match the actual value exactly.

vendor

string

The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value.

wwn

string

Unique storage identifier. The hint must match the actual value exactly.

wwnVendorExtension

string

Unique vendor storage identifier. The hint must match the actual value exactly.

wwnWithExtension

string

Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly.

.spec.rootDeviceHints

Description

Provide guidance about how to choose the device for the image being provisioned.

Type

object

PropertyTypeDescription

deviceName

string

A Linux device name like “/dev/vda”. The hint must match the actual value exactly.

hctl

string

A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly.

minSizeGigabytes

integer

The minimum size of the device in Gigabytes.

model

string

A vendor-specific device identifier. The hint can be a substring of the actual value.

rotational

boolean

True if the device should use spinning media, false otherwise.

serialNumber

string

Device serial number. The hint must match the actual value exactly.

vendor

string

The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value.

wwn

string

Unique storage identifier. The hint must match the actual value exactly.

wwnVendorExtension

string

Unique vendor storage identifier. The hint must match the actual value exactly.

wwnWithExtension

string

Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly.

.spec.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.

Type

array

.spec.taints[]

Description

The node this Taint is attached to has the “effect” on any pod that does not tolerate the Taint.

Type

object

Required

  • effect

  • key

PropertyTypeDescription

effect

string

Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.

key

string

Required. The taint key to be applied to a node.

timeAdded

string

TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints.

value

string

The taint value corresponding to the taint key.

.spec.userData

Description

UserData holds the reference to the Secret containing the user data to be passed to the host before it boots.

Type

object

PropertyTypeDescription

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.status

Description

BareMetalHostStatus defines the observed state of BareMetalHost

Type

object

Required

  • errorCount

  • errorMessage

  • hardwareProfile

  • operationalStatus

  • poweredOn

  • provisioning

PropertyTypeDescription

errorCount

integer

ErrorCount records how many times the host has encoutered an error since the last successful operation

errorMessage

string

the last error message reported by the provisioning subsystem

errorType

string

ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError

goodCredentials

object

the last credentials we were able to validate as working

hardware

object

The hardware discovered to exist on the host.

hardwareProfile

string

The name of the profile matching the hardware details.

lastUpdated

string

LastUpdated identifies when this status was last observed.

operationHistory

object

OperationHistory holds information about operations performed on this host.

operationalStatus

string

OperationalStatus holds the status of the host

poweredOn

boolean

indicator for whether or not the host is powered on

provisioning

object

Information tracked by the provisioner.

triedCredentials

object

the last credentials we sent to the provisioning backend

.status.goodCredentials

Description

the last credentials we were able to validate as working

Type

object

PropertyTypeDescription

credentials

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

credentialsVersion

string

.status.goodCredentials.credentials

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

PropertyTypeDescription

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.status.hardware

Description

The hardware discovered to exist on the host.

Type

object

PropertyTypeDescription

cpu

object

CPU describes one processor on the host.

firmware

object

Firmware describes the firmware on the host.

hostname

string

nics

array

nics[]

object

NIC describes one network interface on the host.

ramMebibytes

integer

storage

array

storage[]

object

Storage describes one storage device (disk, SSD, etc.) on the host.

systemVendor

object

HardwareSystemVendor stores details about the whole hardware system.

.status.hardware.cpu

Description

CPU describes one processor on the host.

Type

object

PropertyTypeDescription

arch

string

clockMegahertz

number

ClockSpeed is a clock speed in MHz

count

integer

flags

array (string)

model

string

.status.hardware.firmware

Description

Firmware describes the firmware on the host.

Type

object

PropertyTypeDescription

bios

object

The BIOS for this firmware

.status.hardware.firmware.bios

Description

The BIOS for this firmware

Type

object

PropertyTypeDescription

date

string

The release/build date for this BIOS

vendor

string

The vendor name for this BIOS

version

string

The version of the BIOS

.status.hardware.nics

Description

Type

array

.status.hardware.nics[]

Description

NIC describes one network interface on the host.

Type

object

PropertyTypeDescription

ip

string

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.

mac

string

The device MAC address

model

string

The vendor and product IDs of the NIC, e.g. “0x8086 0x1572”

name

string

The name of the network interface, e.g. “en0”

pxe

boolean

Whether the NIC is PXE Bootable

speedGbps

integer

The speed of the device in Gigabits per second

vlanId

integer

The untagged VLAN ID

vlans

array

The VLANs available

vlans[]

object

VLAN represents the name and ID of a VLAN

.status.hardware.nics[].vlans

Description

The VLANs available

Type

array

.status.hardware.nics[].vlans[]

Description

VLAN represents the name and ID of a VLAN

Type

object

PropertyTypeDescription

id

integer

VLANID is a 12-bit 802.1Q VLAN identifier

name

string

.status.hardware.storage

Description

Type

array

.status.hardware.storage[]

Description

Storage describes one storage device (disk, SSD, etc.) on the host.

Type

object

PropertyTypeDescription

hctl

string

The SCSI location of the device

model

string

Hardware model

name

string

The Linux device name of the disk, e.g. “/dev/sda”. Note that this may not be stable across reboots.

rotational

boolean

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.

serialNumber

string

The serial number of the device

sizeBytes

integer

The size of the disk in Bytes

type

string

Device type, one of: HDD, SSD, NVME.

vendor

string

The name of the vendor of the device

wwn

string

The WWN of the device

wwnVendorExtension

string

The WWN Vendor extension of the device

wwnWithExtension

string

The WWN with the extension

.status.hardware.systemVendor

Description

HardwareSystemVendor stores details about the whole hardware system.

Type

object

PropertyTypeDescription

manufacturer

string

productName

string

serialNumber

string

.status.operationHistory

Description

OperationHistory holds information about operations performed on this host.

Type

object

PropertyTypeDescription

deprovision

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

inspect

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

provision

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

register

object

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

.status.operationHistory.deprovision

Description

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

Type

object

PropertyTypeDescription

end

</p></td><td></td></tr><tr><td><p><code>start</code></p></td><td><p>

.status.operationHistory.inspect

Description

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

Type

object

PropertyTypeDescription

end

</p></td><td></td></tr><tr><td><p><code>start</code></p></td><td><p>

.status.operationHistory.provision

Description

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

Type

object

PropertyTypeDescription

end

</p></td><td></td></tr><tr><td><p><code>start</code></p></td><td><p>

.status.operationHistory.register

Description

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

Type

object

PropertyTypeDescription

end

</p></td><td></td></tr><tr><td><p><code>start</code></p></td><td><p>

.status.provisioning

Description

Information tracked by the provisioner.

Type

object

Required

  • ID

  • state

PropertyTypeDescription

ID

string

The machine’s UUID from the underlying provisioning tool

bootMode

string

BootMode indicates the boot mode used to provision the node

customDeploy

object

Custom deploy procedure applied to the host.

firmware

object

The Bios set by the user

image

object

Image holds the details of the last image successfully provisioned to the host.

raid

object

The Raid set by the user

rootDeviceHints

object

The RootDevicehints set by the user

state

string

An indiciator for what the provisioner is doing with the host.

.status.provisioning.customDeploy

Description

Custom deploy procedure applied to the host.

Type

object

Required

  • method
PropertyTypeDescription

method

string

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.

.status.provisioning.firmware

Description

The Bios set by the user

Type

object

PropertyTypeDescription

simultaneousMultithreadingEnabled

boolean

Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.

sriovEnabled

boolean

SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.

virtualizationEnabled

boolean

Supports the virtualization of platform hardware. This supports following options: true, false.

.status.provisioning.image

Description

Image holds the details of the last image successfully provisioned to the host.

Type

object

Required

  • url
PropertyTypeDescription

checksum

string

Checksum is the checksum for the image.

checksumType

string

ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512

format

string

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.

url

string

URL is a location of an image to deploy.

.status.provisioning.raid

Description

The Raid set by the user

Type

object

PropertyTypeDescription

hardwareRAIDVolumes

array

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.

hardwareRAIDVolumes[]

object

HardwareRAIDVolume defines the desired configuration of volume in hardware RAID

softwareRAIDVolumes

array

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.

softwareRAIDVolumes[]

object

SoftwareRAIDVolume defines the desired configuration of volume in software RAID

.status.provisioning.raid.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.

Type

array

.status.provisioning.raid.hardwareRAIDVolumes[]

Description

HardwareRAIDVolume defines the desired configuration of volume in hardware RAID

Type

object

Required

  • level
PropertyTypeDescription

level

string

RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.

name

string

Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated.

numberOfPhysicalDisks

integer

Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level.

rotational

boolean

Select disks with only rotational or solid-state storage

sizeGibibytes

integer

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.

.status.provisioning.raid.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.

Type

array

.status.provisioning.raid.softwareRAIDVolumes[]

Description

SoftwareRAIDVolume defines the desired configuration of volume in software RAID

Type

object

Required

  • level
PropertyTypeDescription

level

string

RAID level for the logical disk. The following levels are supported: 0;1;1+0.

physicalDisks

array

A list of device hints, the number of items should be greater than or equal to 2.

physicalDisks[]

object

RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image.

sizeGibibytes

integer

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.

.status.provisioning.raid.softwareRAIDVolumes[].physicalDisks

Description

A list of device hints, the number of items should be greater than or equal to 2.

Type

array

.status.provisioning.raid.softwareRAIDVolumes[].physicalDisks[]

Description

RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image.

Type

object

PropertyTypeDescription

deviceName

string

A Linux device name like “/dev/vda”. The hint must match the actual value exactly.

hctl

string

A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly.

minSizeGigabytes

integer

The minimum size of the device in Gigabytes.

model

string

A vendor-specific device identifier. The hint can be a substring of the actual value.

rotational

boolean

True if the device should use spinning media, false otherwise.

serialNumber

string

Device serial number. The hint must match the actual value exactly.

vendor

string

The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value.

wwn

string

Unique storage identifier. The hint must match the actual value exactly.

wwnVendorExtension

string

Unique vendor storage identifier. The hint must match the actual value exactly.

wwnWithExtension

string

Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly.

.status.provisioning.rootDeviceHints

Description

The RootDevicehints set by the user

Type

object

PropertyTypeDescription

deviceName

string

A Linux device name like “/dev/vda”. The hint must match the actual value exactly.

hctl

string

A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly.

minSizeGigabytes

integer

The minimum size of the device in Gigabytes.

model

string

A vendor-specific device identifier. The hint can be a substring of the actual value.

rotational

boolean

True if the device should use spinning media, false otherwise.

serialNumber

string

Device serial number. The hint must match the actual value exactly.

vendor

string

The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value.

wwn

string

Unique storage identifier. The hint must match the actual value exactly.

wwnVendorExtension

string

Unique vendor storage identifier. The hint must match the actual value exactly.

wwnWithExtension

string

Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly.

.status.triedCredentials

Description

the last credentials we sent to the provisioning backend

Type

object

PropertyTypeDescription

credentials

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

credentialsVersion

string

.status.triedCredentials.credentials

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

PropertyTypeDescription

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

API endpoints

The following API endpoints are available:

  • /apis/metal3.io/v1alpha1/baremetalhosts

    • GET: list objects of kind BareMetalHost
  • /apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts

    • DELETE: delete collection of BareMetalHost

    • GET: list objects of kind BareMetalHost

    • POST: create a BareMetalHost

  • /apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts/{name}

    • DELETE: delete a BareMetalHost

    • GET: read the specified BareMetalHost

    • PATCH: partially update the specified BareMetalHost

    • PUT: replace the specified BareMetalHost

  • /apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts/{name}/status

    • GET: read status of the specified BareMetalHost

    • PATCH: partially update status of the specified BareMetalHost

    • PUT: replace status of the specified BareMetalHost

/apis/metal3.io/v1alpha1/baremetalhosts

Table 1. Global query parameters
ParameterTypeDescription

allowWatchBookmarks

boolean

allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.

continue

string

The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”.

This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

fieldSelector

string

A selector to restrict the list of returned objects by their fields. Defaults to everything.

labelSelector

string

A selector to restrict the list of returned objects by their labels. Defaults to everything.

limit

integer

limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.

The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

pretty

string

If ‘true’, then the output is pretty printed.

resourceVersion

string

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

resourceVersionMatch

string

resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

timeoutSeconds

integer

Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.

watch

boolean

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

HTTP method

GET

Description

list objects of kind BareMetalHost

Table 2. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHostList metal3.io/v1alpha1

/apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts

Table 3. Global path parameters
ParameterTypeDescription

namespace

string

object name and auth scope, such as for teams and projects

Table 4. Global query parameters
ParameterTypeDescription

pretty

string

If ‘true’, then the output is pretty printed.

HTTP method

DELETE

Description

delete collection of BareMetalHost

Table 5. Query parameters
ParameterTypeDescription

allowWatchBookmarks

boolean

allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.

continue

string

The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”.

This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

fieldSelector

string

A selector to restrict the list of returned objects by their fields. Defaults to everything.

labelSelector

string

A selector to restrict the list of returned objects by their labels. Defaults to everything.

limit

integer

limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.

The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

resourceVersion

string

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

resourceVersionMatch

string

resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

timeoutSeconds

integer

Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.

watch

boolean

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Table 6. HTTP responses
HTTP codeReponse body

200 - OK

Status_v2 meta/v1

HTTP method

GET

Description

list objects of kind BareMetalHost

Table 7. Query parameters
ParameterTypeDescription

allowWatchBookmarks

boolean

allowWatchBookmarks requests watch events with type “BOOKMARK”. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server’s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.

continue

string

The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the “next key”.

This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

fieldSelector

string

A selector to restrict the list of returned objects by their fields. Defaults to everything.

labelSelector

string

A selector to restrict the list of returned objects by their labels. Defaults to everything.

limit

integer

limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.

The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

resourceVersion

string

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

resourceVersionMatch

string

resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

timeoutSeconds

integer

Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.

watch

boolean

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Table 8. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHostList metal3.io/v1alpha1

HTTP method

POST

Description

create a BareMetalHost

Table 9. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

string

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

Table 10. Body parameters
ParameterTypeDescription

body

BareMetalHost metal3.io/v1alpha1

Table 11. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

/apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts/{name}

Table 12. Global path parameters
ParameterTypeDescription

name

string

name of the BareMetalHost

namespace

string

object name and auth scope, such as for teams and projects

Table 13. Global query parameters
ParameterTypeDescription

pretty

string

If ‘true’, then the output is pretty printed.

HTTP method

DELETE

Description

delete a BareMetalHost

Table 14. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

gracePeriodSeconds

integer

The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

orphanDependents

boolean

Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the “orphan” finalizer will be added to/removed from the object’s finalizers list. Either this field or PropagationPolicy may be set, but not both.

propagationPolicy

string

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: ‘Orphan’ - orphan the dependents; ‘Background’ - allow the garbage collector to delete the dependents in the background; ‘Foreground’ - a cascading policy that deletes all dependents in the foreground.

Table 15. Body parameters
ParameterTypeDescription

body

DeleteOptions_v2 meta/v1

Table 16. HTTP responses
HTTP codeReponse body

200 - OK

Status_v2 meta/v1

HTTP method

GET

Description

read the specified BareMetalHost

Table 17. Query parameters
ParameterTypeDescription

resourceVersion

string

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

Table 18. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

HTTP method

PATCH

Description

partially update the specified BareMetalHost

Table 19. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

string

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

Table 20. Body parameters
ParameterTypeDescription

body

Patch meta/v1

Table 21. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

HTTP method

PUT

Description

replace the specified BareMetalHost

Table 22. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

string

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

Table 23. Body parameters
ParameterTypeDescription

body

BareMetalHost metal3.io/v1alpha1

Table 24. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

/apis/metal3.io/v1alpha1/namespaces/{namespace}/baremetalhosts/{name}/status

Table 25. Global path parameters
ParameterTypeDescription

name

string

name of the BareMetalHost

namespace

string

object name and auth scope, such as for teams and projects

Table 26. Global query parameters
ParameterTypeDescription

pretty

string

If ‘true’, then the output is pretty printed.

HTTP method

GET

Description

read status of the specified BareMetalHost

Table 27. Query parameters
ParameterTypeDescription

resourceVersion

string

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

Table 28. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

HTTP method

PATCH

Description

partially update status of the specified BareMetalHost

Table 29. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

string

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

Table 30. Body parameters
ParameterTypeDescription

body

Patch meta/v1

Table 31. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1

HTTP method

PUT

Description

replace status of the specified BareMetalHost

Table 32. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

string

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

Table 33. Body parameters
ParameterTypeDescription

body

BareMetalHost metal3.io/v1alpha1

Table 34. HTTP responses
HTTP codeReponse body

200 - OK

BareMetalHost metal3.io/v1alpha1