infrastructure.cluster.x-k8s.io/v1alpha7

Package v1alpha7 contains API Schema definitions for the infrastructure v1alpha7 API group.

Resource Types:

OpenStackCluster

OpenStackCluster is the Schema for the openstackclusters API.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha7
kind
string
OpenStackCluster
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
OpenStackClusterSpec


cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

nodeCidr
string

NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.

router
RouterFilter
(Optional)

If NodeCIDR is set this option can be used to detect an existing router. If specified, no new router will be created.

network
NetworkFilter

If NodeCIDR cannot be set this can be used to detect an existing network.

subnet
SubnetFilter

If NodeCIDR cannot be set this can be used to detect an existing subnet.

networkMtu
int
(Optional)

NetworkMTU sets the maximum transmission unit (MTU) value to address fragmentation for the private network ID. This value will be used only if the Cluster actuator creates the network. If leaved empty, the network will have the default MTU defined in Openstack network service. To use this field, the Openstack installation requires the net-mtu neutron API extension.

dnsNameservers
[]string

DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.

externalRouterIPs
[]ExternalRouterIPParam

ExternalRouterIPs is an array of externalIPs on the respective subnets. This is necessary if the router needs a fixed ip in a specific subnet.

externalNetworkId
string
(Optional)

ExternalNetworkID is the ID of an external OpenStack Network. This is necessary to get public internet to the VMs.

apiServerLoadBalancer
APIServerLoadBalancer
(Optional)

APIServerLoadBalancer configures the optional LoadBalancer for the APIServer. It must be activated by setting enabled: true.

disableAPIServerFloatingIP
bool
(Optional)

DisableAPIServerFloatingIP determines whether or not to attempt to attach a floating IP to the API server. This allows for the creation of clusters when attaching a floating IP to the API server (and hence, in many cases, exposing the API server to the internet) is not possible or desirable, e.g. if using a shared VLAN for communication between management and workload clusters or when the management cluster is inside the project network. This option requires that the API server use a VIP on the cluster network so that the underlying machines can change without changing ControlPlaneEndpoint.Host. When using a managed load balancer, this VIP will be managed automatically. If not using a managed load balancer, cluster configuration will fail without additional configuration to manage the VIP on the control plane machines, which falls outside of the scope of this controller.

apiServerFloatingIP
string

APIServerFloatingIP is the floatingIP which will be associated with the API server. The floatingIP will be created if it does not already exist. If not specified, a new floatingIP is allocated. This field is not used if DisableAPIServerFloatingIP is set to true.

apiServerFixedIP
string

APIServerFixedIP is the fixed IP which will be associated with the API server. In the case where the API server has a floating IP but not a managed load balancer, this field is not used. If a managed load balancer is used and this field is not specified, a fixed IP will be dynamically allocated for the load balancer. If a managed load balancer is not used AND the API server floating IP is disabled, this field MUST be specified and should correspond to a pre-allocated port that holds the fixed IP to be used as a VIP.

apiServerPort
int

APIServerPort is the port on which the listener on the APIServer will be created

managedSecurityGroups
bool
(Optional)

ManagedSecurityGroups determines whether OpenStack security groups for the cluster will be managed by the OpenStack provider or whether pre-existing security groups will be specified as part of the configuration. By default, the managed security groups have rules that allow the Kubelet, etcd, the Kubernetes API server and the Calico CNI plugin to function correctly.

allowAllInClusterTraffic
bool
(Optional)

AllowAllInClusterTraffic is only used when managed security groups are in use. If set to true, the rules for the managed security groups are configured so that all ingress and egress between cluster nodes is permitted, allowing CNIs other than Calico to be used.

disablePortSecurity
bool

DisablePortSecurity disables the port security of the network created for the Kubernetes cluster, which also disables SecurityGroups

tags
[]string

Tags for all resources in cluster

controlPlaneEndpoint
sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint
(Optional)

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

controlPlaneAvailabilityZones
[]string

ControlPlaneAvailabilityZones is the az to deploy control plane to

controlPlaneOmitAvailabilityZone
bool

Indicates whether to omit the az for control plane nodes, allowing the Nova scheduler to make a decision on which az to use based on other scheduling constraints

bastion
Bastion
(Optional)

Bastion is the OpenStack instance to login the nodes

As a rolling update is not ideal during a bastion host session, we prevent changes to a running bastion configuration. Set enabled: false to make changes.

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster

status
OpenStackClusterStatus

OpenStackClusterTemplate

OpenStackClusterTemplate is the Schema for the openstackclustertemplates API.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha7
kind
string
OpenStackClusterTemplate
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
OpenStackClusterTemplateSpec


template
OpenStackClusterTemplateResource

OpenStackMachine

OpenStackMachine is the Schema for the openstackmachines API.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha7
kind
string
OpenStackMachine
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
OpenStackMachineSpec


providerID
string

ProviderID is the unique identifier as specified by the cloud provider.

instanceID
string

InstanceID is the OpenStack instance ID for this machine.

cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

flavor
string

The flavor reference for the flavor for your server instance.

image
string

The name of the image to use for your server instance. If the RootVolume is specified, this will be ignored and use rootVolume directly.

imageUUID
string

The uuid of the image to use for your server instance. if it’s empty, Image name will be used

sshKeyName
string

The ssh key to inject in the instance

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. If not specified a default port will be added for the default cluster network.

floatingIP
string

The floatingIP which will be associated to the machine, only used for master. The floatingIP should have been created and haven’t been associated.

securityGroups
[]SecurityGroupFilter

The names of the security groups to assign to the instance

trunk
bool

Whether the server instance is created on a trunk port or not.

tags
[]string

Machine tags Requires Nova api 2.52 minimum!

serverMetadata
map[string]string

Metadata mapping. Allows you to create a map of key value pairs to add to the server instance.

configDrive
bool

Config Drive support

rootVolume
RootVolume

The volume metadata to boot from

additionalBlockDevices
[]AdditionalBlockDevice
(Optional)

AdditionalBlockDevices is a list of specifications for additional block devices to attach to the server instance

serverGroupID
string

The server group to assign the machine to

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster. If not specified, the identity ref of the cluster will be used instead.

status
OpenStackMachineStatus

OpenStackMachineTemplate

OpenStackMachineTemplate is the Schema for the openstackmachinetemplates API.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha7
kind
string
OpenStackMachineTemplate
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
OpenStackMachineTemplateSpec


template
OpenStackMachineTemplateResource

APIServerLoadBalancer

(Appears on: OpenStackClusterSpec)

Field Description
enabled
bool

Enabled defines whether a load balancer should be created.

additionalPorts
[]int

AdditionalPorts adds additional tcp ports to the load balancer.

allowedCidrs
[]string

AllowedCIDRs restrict access to all API-Server listeners to the given address CIDRs.

provider
string

Octavia Provider Used to create load balancer

AdditionalBlockDevice

(Appears on: OpenStackMachineSpec)

AdditionalBlockDevice is a block device to attach to the server.

Field Description
name
string

Name of the block device in the context of a machine. If the block device is a volume, the Cinder volume will be named as a combination of the machine name and this name. Also, this name will be used for tagging the block device. Information about the block device tag can be obtained from the OpenStack metadata API or the config drive.

sizeGiB
int

SizeGiB is the size of the block device in gibibytes (GiB).

storage
BlockDeviceStorage

Storage specifies the storage type of the block device and additional storage options.

AddressPair

(Appears on: PortOpts)

Field Description
ipAddress
string
macAddress
string

Bastion

(Appears on: OpenStackClusterSpec)

Bastion represents basic information about the bastion node.

Field Description
enabled
bool
(Optional)
instance
OpenStackMachineSpec

Instance for the bastion itself

availabilityZone
string
(Optional)

BastionStatus

(Appears on: OpenStackClusterStatus)

Field Description
id
string
name
string
sshKeyName
string
state
InstanceState
ip
string
floatingIP
string

BindingProfile

(Appears on: PortOpts)

Field Description
ovsHWOffload
bool

OVSHWOffload enables or disables the OVS hardware offload feature.

trustedVF
bool

TrustedVF enables or disables the “trusted mode” for the VF.

BlockDeviceStorage

(Appears on: AdditionalBlockDevice)

BlockDeviceStorage is the storage type of a block device to create and contains additional storage options.

Field Description
type
BlockDeviceType

Type is the type of block device to create. This can be either “Volume” or “Local”.

volume
BlockDeviceVolume
(Optional)

Volume contains additional storage options for a volume block device.

BlockDeviceType (string alias)

(Appears on: BlockDeviceStorage)

BlockDeviceType defines the type of block device to create.

Value Description

"Local"

LocalBlockDevice is an ephemeral block device attached to the server.

"Volume"

VolumeBlockDevice is a volume block device attached to the server.

BlockDeviceVolume

(Appears on: BlockDeviceStorage)

BlockDeviceVolume contains additional storage options for a volume block device.

Field Description
type
string
(Optional)

Type is the Cinder volume type of the volume. If omitted, the default Cinder volume type that is configured in the OpenStack cloud will be used.

availabilityZone
string
(Optional)

AvailabilityZone is the volume availability zone to create the volume in. If omitted, the availability zone of the server will be used. The availability zone must NOT contain spaces otherwise it will lead to volume that belongs to this availability zone register failure, see kubernetes/cloud-provider-openstack#1379 for further information.

ExternalRouterIPParam

(Appears on: OpenStackClusterSpec)

Field Description
fixedIP
string

The FixedIP in the corresponding subnet

subnet
SubnetFilter

The subnet in which the FixedIP is used for the Gateway of this router

FixedIP

(Appears on: PortOpts)

Field Description
subnet
SubnetFilter

Subnet is an openstack subnet query that will return the id of a subnet to create the fixed IP of a port in. This query must not return more than one subnet.

ipAddress
string

InstanceState (string alias)

(Appears on: BastionStatus, OpenStackMachineStatus)

InstanceState describes the state of an OpenStack instance.

LoadBalancer

(Appears on: OpenStackClusterStatus)

LoadBalancer represents basic information about the associated OpenStack LoadBalancer.

Field Description
name
string
id
string
ip
string
internalIP
string
allowedCIDRs
[]string
(Optional)
tags
[]string
(Optional)

NetworkFilter

(Appears on: OpenStackClusterSpec, PortOpts)

Field Description
name
string
description
string
projectId
string
id
string
tags
string
tagsAny
string
notTags
string
notTagsAny
string

NetworkStatus

(Appears on: NetworkStatusWithSubnets, OpenStackClusterStatus)

NetworkStatus contains basic information about an existing neutron network.

Field Description
name
string
id
string
tags
[]string
(Optional)

NetworkStatusWithSubnets

(Appears on: OpenStackClusterStatus)

NetworkStatusWithSubnets represents basic information about an existing neutron network and an associated set of subnets.

Field Description
NetworkStatus
NetworkStatus

(Members of NetworkStatus are embedded into this type.)

subnets
[]Subnet

Subnets is a list of subnets associated with the default cluster network. Machines which use the default cluster network will get an address from all of these subnets.

OpenStackClusterSpec

(Appears on: OpenStackCluster, OpenStackClusterTemplateResource)

OpenStackClusterSpec defines the desired state of OpenStackCluster.

Field Description
cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

nodeCidr
string

NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.

router
RouterFilter
(Optional)

If NodeCIDR is set this option can be used to detect an existing router. If specified, no new router will be created.

network
NetworkFilter

If NodeCIDR cannot be set this can be used to detect an existing network.

subnet
SubnetFilter

If NodeCIDR cannot be set this can be used to detect an existing subnet.

networkMtu
int
(Optional)

NetworkMTU sets the maximum transmission unit (MTU) value to address fragmentation for the private network ID. This value will be used only if the Cluster actuator creates the network. If leaved empty, the network will have the default MTU defined in Openstack network service. To use this field, the Openstack installation requires the net-mtu neutron API extension.

dnsNameservers
[]string

DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.

externalRouterIPs
[]ExternalRouterIPParam

ExternalRouterIPs is an array of externalIPs on the respective subnets. This is necessary if the router needs a fixed ip in a specific subnet.

externalNetworkId
string
(Optional)

ExternalNetworkID is the ID of an external OpenStack Network. This is necessary to get public internet to the VMs.

apiServerLoadBalancer
APIServerLoadBalancer
(Optional)

APIServerLoadBalancer configures the optional LoadBalancer for the APIServer. It must be activated by setting enabled: true.

disableAPIServerFloatingIP
bool
(Optional)

DisableAPIServerFloatingIP determines whether or not to attempt to attach a floating IP to the API server. This allows for the creation of clusters when attaching a floating IP to the API server (and hence, in many cases, exposing the API server to the internet) is not possible or desirable, e.g. if using a shared VLAN for communication between management and workload clusters or when the management cluster is inside the project network. This option requires that the API server use a VIP on the cluster network so that the underlying machines can change without changing ControlPlaneEndpoint.Host. When using a managed load balancer, this VIP will be managed automatically. If not using a managed load balancer, cluster configuration will fail without additional configuration to manage the VIP on the control plane machines, which falls outside of the scope of this controller.

apiServerFloatingIP
string

APIServerFloatingIP is the floatingIP which will be associated with the API server. The floatingIP will be created if it does not already exist. If not specified, a new floatingIP is allocated. This field is not used if DisableAPIServerFloatingIP is set to true.

apiServerFixedIP
string

APIServerFixedIP is the fixed IP which will be associated with the API server. In the case where the API server has a floating IP but not a managed load balancer, this field is not used. If a managed load balancer is used and this field is not specified, a fixed IP will be dynamically allocated for the load balancer. If a managed load balancer is not used AND the API server floating IP is disabled, this field MUST be specified and should correspond to a pre-allocated port that holds the fixed IP to be used as a VIP.

apiServerPort
int

APIServerPort is the port on which the listener on the APIServer will be created

managedSecurityGroups
bool
(Optional)

ManagedSecurityGroups determines whether OpenStack security groups for the cluster will be managed by the OpenStack provider or whether pre-existing security groups will be specified as part of the configuration. By default, the managed security groups have rules that allow the Kubelet, etcd, the Kubernetes API server and the Calico CNI plugin to function correctly.

allowAllInClusterTraffic
bool
(Optional)

AllowAllInClusterTraffic is only used when managed security groups are in use. If set to true, the rules for the managed security groups are configured so that all ingress and egress between cluster nodes is permitted, allowing CNIs other than Calico to be used.

disablePortSecurity
bool

DisablePortSecurity disables the port security of the network created for the Kubernetes cluster, which also disables SecurityGroups

tags
[]string

Tags for all resources in cluster

controlPlaneEndpoint
sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint
(Optional)

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

controlPlaneAvailabilityZones
[]string

ControlPlaneAvailabilityZones is the az to deploy control plane to

controlPlaneOmitAvailabilityZone
bool

Indicates whether to omit the az for control plane nodes, allowing the Nova scheduler to make a decision on which az to use based on other scheduling constraints

bastion
Bastion
(Optional)

Bastion is the OpenStack instance to login the nodes

As a rolling update is not ideal during a bastion host session, we prevent changes to a running bastion configuration. Set enabled: false to make changes.

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster

OpenStackClusterStatus

(Appears on: OpenStackCluster)

OpenStackClusterStatus defines the observed state of OpenStackCluster.

Field Description
ready
bool
network
NetworkStatusWithSubnets

Network contains information about the created OpenStack Network.

externalNetwork
NetworkStatus

externalNetwork contains information about the external network used for default ingress and egress traffic.

router
Router

Router describes the default cluster router

apiServerLoadBalancer
LoadBalancer

APIServerLoadBalancer describes the api server load balancer if one exists

failureDomains
sigs.k8s.io/cluster-api/api/v1beta1.FailureDomains

FailureDomains represent OpenStack availability zones

controlPlaneSecurityGroup
SecurityGroup

ControlPlaneSecurityGroups contains all the information about the OpenStack Security Group that needs to be applied to control plane nodes. TODO: Maybe instead of two properties, we add a property to the group?

workerSecurityGroup
SecurityGroup

WorkerSecurityGroup contains all the information about the OpenStack Security Group that needs to be applied to worker nodes.

bastionSecurityGroup
SecurityGroup
bastion
BastionStatus
failureReason
sigs.k8s.io/cluster-api/errors.ClusterStatusError
(Optional)

FailureReason will be set in the event that there is a terminal problem reconciling the OpenStackCluster and will contain a succinct value suitable for machine interpretation.

This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the OpenStackCluster’s spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.

Any transient errors that occur during the reconciliation of OpenStackClusters can be added as events to the OpenStackCluster object and/or logged in the controller’s output.

failureMessage
string
(Optional)

FailureMessage will be set in the event that there is a terminal problem reconciling the OpenStackCluster and will contain a more verbose string suitable for logging and human consumption.

This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the OpenStackCluster’s spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.

Any transient errors that occur during the reconciliation of OpenStackClusters can be added as events to the OpenStackCluster object and/or logged in the controller’s output.

OpenStackClusterTemplateResource

(Appears on: OpenStackClusterTemplateSpec)

OpenStackClusterTemplateResource describes the data needed to create a OpenStackCluster from a template.

Field Description
spec
OpenStackClusterSpec


cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

nodeCidr
string

NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.

router
RouterFilter
(Optional)

If NodeCIDR is set this option can be used to detect an existing router. If specified, no new router will be created.

network
NetworkFilter

If NodeCIDR cannot be set this can be used to detect an existing network.

subnet
SubnetFilter

If NodeCIDR cannot be set this can be used to detect an existing subnet.

networkMtu
int
(Optional)

NetworkMTU sets the maximum transmission unit (MTU) value to address fragmentation for the private network ID. This value will be used only if the Cluster actuator creates the network. If leaved empty, the network will have the default MTU defined in Openstack network service. To use this field, the Openstack installation requires the net-mtu neutron API extension.

dnsNameservers
[]string

DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.

externalRouterIPs
[]ExternalRouterIPParam

ExternalRouterIPs is an array of externalIPs on the respective subnets. This is necessary if the router needs a fixed ip in a specific subnet.

externalNetworkId
string
(Optional)

ExternalNetworkID is the ID of an external OpenStack Network. This is necessary to get public internet to the VMs.

apiServerLoadBalancer
APIServerLoadBalancer
(Optional)

APIServerLoadBalancer configures the optional LoadBalancer for the APIServer. It must be activated by setting enabled: true.

disableAPIServerFloatingIP
bool
(Optional)

DisableAPIServerFloatingIP determines whether or not to attempt to attach a floating IP to the API server. This allows for the creation of clusters when attaching a floating IP to the API server (and hence, in many cases, exposing the API server to the internet) is not possible or desirable, e.g. if using a shared VLAN for communication between management and workload clusters or when the management cluster is inside the project network. This option requires that the API server use a VIP on the cluster network so that the underlying machines can change without changing ControlPlaneEndpoint.Host. When using a managed load balancer, this VIP will be managed automatically. If not using a managed load balancer, cluster configuration will fail without additional configuration to manage the VIP on the control plane machines, which falls outside of the scope of this controller.

apiServerFloatingIP
string

APIServerFloatingIP is the floatingIP which will be associated with the API server. The floatingIP will be created if it does not already exist. If not specified, a new floatingIP is allocated. This field is not used if DisableAPIServerFloatingIP is set to true.

apiServerFixedIP
string

APIServerFixedIP is the fixed IP which will be associated with the API server. In the case where the API server has a floating IP but not a managed load balancer, this field is not used. If a managed load balancer is used and this field is not specified, a fixed IP will be dynamically allocated for the load balancer. If a managed load balancer is not used AND the API server floating IP is disabled, this field MUST be specified and should correspond to a pre-allocated port that holds the fixed IP to be used as a VIP.

apiServerPort
int

APIServerPort is the port on which the listener on the APIServer will be created

managedSecurityGroups
bool
(Optional)

ManagedSecurityGroups determines whether OpenStack security groups for the cluster will be managed by the OpenStack provider or whether pre-existing security groups will be specified as part of the configuration. By default, the managed security groups have rules that allow the Kubelet, etcd, the Kubernetes API server and the Calico CNI plugin to function correctly.

allowAllInClusterTraffic
bool
(Optional)

AllowAllInClusterTraffic is only used when managed security groups are in use. If set to true, the rules for the managed security groups are configured so that all ingress and egress between cluster nodes is permitted, allowing CNIs other than Calico to be used.

disablePortSecurity
bool

DisablePortSecurity disables the port security of the network created for the Kubernetes cluster, which also disables SecurityGroups

tags
[]string

Tags for all resources in cluster

controlPlaneEndpoint
sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint
(Optional)

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

controlPlaneAvailabilityZones
[]string

ControlPlaneAvailabilityZones is the az to deploy control plane to

controlPlaneOmitAvailabilityZone
bool

Indicates whether to omit the az for control plane nodes, allowing the Nova scheduler to make a decision on which az to use based on other scheduling constraints

bastion
Bastion
(Optional)

Bastion is the OpenStack instance to login the nodes

As a rolling update is not ideal during a bastion host session, we prevent changes to a running bastion configuration. Set enabled: false to make changes.

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster

OpenStackClusterTemplateSpec

(Appears on: OpenStackClusterTemplate)

OpenStackClusterTemplateSpec defines the desired state of OpenStackClusterTemplate.

Field Description
template
OpenStackClusterTemplateResource

OpenStackIdentityReference

(Appears on: OpenStackClusterSpec, OpenStackMachineSpec)

OpenStackIdentityReference is a reference to an infrastructure provider identity to be used to provision cluster resources.

Field Description
kind
string

Kind of the identity. Must be supported by the infrastructure provider and may be either cluster or namespace-scoped.

name
string

Name of the infrastructure identity to be used. Must be either a cluster-scoped resource, or namespaced-scoped resource the same namespace as the resource(s) being provisioned.

OpenStackMachineSpec

(Appears on: OpenStackMachine, Bastion, OpenStackMachineTemplateResource)

OpenStackMachineSpec defines the desired state of OpenStackMachine.

Field Description
providerID
string

ProviderID is the unique identifier as specified by the cloud provider.

instanceID
string

InstanceID is the OpenStack instance ID for this machine.

cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

flavor
string

The flavor reference for the flavor for your server instance.

image
string

The name of the image to use for your server instance. If the RootVolume is specified, this will be ignored and use rootVolume directly.

imageUUID
string

The uuid of the image to use for your server instance. if it’s empty, Image name will be used

sshKeyName
string

The ssh key to inject in the instance

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. If not specified a default port will be added for the default cluster network.

floatingIP
string

The floatingIP which will be associated to the machine, only used for master. The floatingIP should have been created and haven’t been associated.

securityGroups
[]SecurityGroupFilter

The names of the security groups to assign to the instance

trunk
bool

Whether the server instance is created on a trunk port or not.

tags
[]string

Machine tags Requires Nova api 2.52 minimum!

serverMetadata
map[string]string

Metadata mapping. Allows you to create a map of key value pairs to add to the server instance.

configDrive
bool

Config Drive support

rootVolume
RootVolume

The volume metadata to boot from

additionalBlockDevices
[]AdditionalBlockDevice
(Optional)

AdditionalBlockDevices is a list of specifications for additional block devices to attach to the server instance

serverGroupID
string

The server group to assign the machine to

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster. If not specified, the identity ref of the cluster will be used instead.

OpenStackMachineStatus

(Appears on: OpenStackMachine)

OpenStackMachineStatus defines the observed state of OpenStackMachine.

Field Description
ready
bool
(Optional)

Ready is true when the provider resource is ready.

addresses
[]Kubernetes core/v1.NodeAddress

Addresses contains the OpenStack instance associated addresses.

instanceState
InstanceState
(Optional)

InstanceState is the state of the OpenStack instance for this machine.

failureReason
sigs.k8s.io/cluster-api/errors.MachineStatusError
failureMessage
string
(Optional)

FailureMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption.

This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine’s spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.

Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller’s output.

conditions
sigs.k8s.io/cluster-api/api/v1beta1.Conditions

OpenStackMachineTemplateResource

(Appears on: OpenStackMachineTemplateSpec)

OpenStackMachineTemplateResource describes the data needed to create a OpenStackMachine from a template.

Field Description
spec
OpenStackMachineSpec

Spec is the specification of the desired behavior of the machine.



providerID
string

ProviderID is the unique identifier as specified by the cloud provider.

instanceID
string

InstanceID is the OpenStack instance ID for this machine.

cloudName
string
(Optional)

The name of the cloud to use from the clouds secret

flavor
string

The flavor reference for the flavor for your server instance.

image
string

The name of the image to use for your server instance. If the RootVolume is specified, this will be ignored and use rootVolume directly.

imageUUID
string

The uuid of the image to use for your server instance. if it’s empty, Image name will be used

sshKeyName
string

The ssh key to inject in the instance

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. If not specified a default port will be added for the default cluster network.

floatingIP
string

The floatingIP which will be associated to the machine, only used for master. The floatingIP should have been created and haven’t been associated.

securityGroups
[]SecurityGroupFilter

The names of the security groups to assign to the instance

trunk
bool

Whether the server instance is created on a trunk port or not.

tags
[]string

Machine tags Requires Nova api 2.52 minimum!

serverMetadata
map[string]string

Metadata mapping. Allows you to create a map of key value pairs to add to the server instance.

configDrive
bool

Config Drive support

rootVolume
RootVolume

The volume metadata to boot from

additionalBlockDevices
[]AdditionalBlockDevice
(Optional)

AdditionalBlockDevices is a list of specifications for additional block devices to attach to the server instance

serverGroupID
string

The server group to assign the machine to

identityRef
OpenStackIdentityReference
(Optional)

IdentityRef is a reference to a identity to be used when reconciling this cluster. If not specified, the identity ref of the cluster will be used instead.

OpenStackMachineTemplateSpec

(Appears on: OpenStackMachineTemplate)

OpenStackMachineTemplateSpec defines the desired state of OpenStackMachineTemplate.

Field Description
template
OpenStackMachineTemplateResource

PortOpts

(Appears on: OpenStackMachineSpec)

Field Description
network
NetworkFilter

Network is a query for an openstack network that the port will be created or discovered on. This will fail if the query returns more than one network.

nameSuffix
string

Used to make the name of the port unique. If unspecified, instead the 0-based index of the port in the list is used.

description
string
adminStateUp
bool
macAddress
string
fixedIPs
[]FixedIP

Specify pairs of subnet and/or IP address. These should be subnets of the network with the given NetworkID.

securityGroupFilters
[]SecurityGroupFilter

The names, uuids, filters or any combination these of the security groups to assign to the instance

allowedAddressPairs
[]AddressPair
trunk
bool

Enables and disables trunk at port level. If not provided, openStackMachine.Spec.Trunk is inherited.

hostId
string

The ID of the host where the port is allocated

vnicType
string

The virtual network interface card (vNIC) type that is bound to the neutron port.

profile
BindingProfile

Profile is a set of key-value pairs that are used for binding details. We intentionally don’t expose this as a map[string]string because we only want to enable the users to set the values of the keys that are known to work in OpenStack Networking API. See https://docs.openstack.org/api-ref/network/v2/index.html?expanded=create-port-detail#create-port

disablePortSecurity
bool

DisablePortSecurity enables or disables the port security when set. When not set, it takes the value of the corresponding field at the network level.

propagateUplinkStatus
bool

PropageteUplinkStatus enables or disables the propagate uplink status on the port.

tags
[]string

Tags applied to the port (and corresponding trunk, if a trunk is configured.) These tags are applied in addition to the instance’s tags, which will also be applied to the port.

valueSpecs
[]ValueSpec
(Optional)

Value specs are extra parameters to include in the API request with OpenStack. This is an extension point for the API, so what they do and if they are supported, depends on the specific OpenStack implementation.

RootVolume

(Appears on: OpenStackMachineSpec)

Field Description
diskSize
int
volumeType
string
availabilityZone
string

Router

(Appears on: OpenStackClusterStatus)

Router represents basic information about the associated OpenStack Neutron Router.

Field Description
name
string
id
string
tags
[]string
(Optional)
ips
[]string
(Optional)

RouterFilter

(Appears on: OpenStackClusterSpec)

Field Description
id
string
name
string
description
string
projectId
string
tags
string
tagsAny
string
notTags
string
notTagsAny
string

SecurityGroup

(Appears on: OpenStackClusterStatus)

SecurityGroup represents the basic information of the associated OpenStack Neutron Security Group.

Field Description
name
string
id
string
rules
[]SecurityGroupRule

SecurityGroupFilter

(Appears on: OpenStackMachineSpec, PortOpts)

Field Description
id
string
name
string
description
string
projectId
string
tags
string
tagsAny
string
notTags
string
notTagsAny
string

SecurityGroupRule

(Appears on: SecurityGroup)

SecurityGroupRule represent the basic information of the associated OpenStack Security Group Role.

Field Description
description
string
name
string
direction
string
etherType
string
securityGroupID
string
portRangeMin
int
portRangeMax
int
protocol
string
remoteGroupID
string
remoteIPPrefix
string

Subnet

(Appears on: NetworkStatusWithSubnets)

Subnet represents basic information about the associated OpenStack Neutron Subnet.

Field Description
name
string
id
string
cidr
string
tags
[]string
(Optional)

SubnetFilter

(Appears on: ExternalRouterIPParam, FixedIP, OpenStackClusterSpec)

Field Description
name
string
description
string
projectId
string
ipVersion
int
gateway_ip
string
cidr
string
ipv6AddressMode
string
ipv6RaMode
string
id
string
tags
string
tagsAny
string
notTags
string
notTagsAny
string

ValueSpec

(Appears on: PortOpts)

ValueSpec represents a single value_spec key-value pair.

Field Description
name
string

Name is the name of the key-value pair. This is just for identifying the pair and will not be sent to the OpenStack API.

key
string

Key is the key in the key-value pair.

value
string

Value is the value in the key-value pair.


Generated with gen-crd-api-reference-docs.