infrastructure.cluster.x-k8s.io/v1alpha6

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

Resource Types:

OpenStackCluster

OpenStackCluster is the Schema for the openstackclusters API.

Deprecated: This type will be removed in one of the next releases.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha6
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.

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.

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.

Deprecated: This type will be removed in one of the next releases.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha6
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.

Deprecated: This type will be removed in one of the next releases.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha6
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

networks
[]NetworkParam

A networks object. Required parameter when there are multiple networks defined for the tenant. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

subnet
string

UUID, IP address of a port from this subnet will be marked as AccessIPv4 on the created compute instance

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
[]SecurityGroupParam

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

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

status
OpenStackMachineStatus

OpenStackMachineTemplate

OpenStackMachineTemplate is the Schema for the openstackmachinetemplates API.

Deprecated: This type will be removed in one of the next releases.

Field Description
apiVersion
string
infrastructure.cluster.x-k8s.io/v1alpha6
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

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)

ExternalRouterIPParam

(Appears on: OpenStackClusterSpec)

Field Description
fixedIP
string

The FixedIP in the corresponding subnet

subnet
SubnetParam

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

Instance

(Appears on: OpenStackClusterStatus)

Field Description
id
string
name
string
trunk
bool
failureDomain
string
securigyGroups
[]string
networks
[]Network
subnet
string
tags
[]string
image
string
imageUUID
string
flavor
string
sshKeyName
string
userData
string
metadata
map[string]string
configDrive
bool
rootVolume
RootVolume
serverGroupID
string
state
InstanceState
ip
string
floatingIP
string

InstanceState (string alias)

(Appears on: Instance, OpenStackMachineStatus)

InstanceState describes the state of an OpenStack instance.

LoadBalancer

(Appears on: Network)

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)

Network

(Appears on: Instance, OpenStackClusterStatus)

Network represents basic information about an OpenStack Neutron Network associated with an instance’s port.

Field Description
name
string
id
string
tags
[]string
(Optional)
subnet
Subnet
port
PortOpts
router
Router
apiServerLoadBalancer
LoadBalancer

Be careful when using APIServerLoadBalancer, because this field is optional and therefore not set in all cases

NetworkFilter

(Appears on: NetworkParam, OpenStackClusterSpec, PortOpts)

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

NetworkParam

(Appears on: OpenStackMachineSpec)

Field Description
uuid
string

Optional UUID of the network. If specified this will not be validated prior to server creation. Required if Subnets specifies a subnet by UUID.

fixedIP
string

A fixed IPv4 address for the NIC.

filter
NetworkFilter

Filters for optional network query

subnets
[]SubnetParam

Subnet within a network to use

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.

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.

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
Network

Network contains all information about the created OpenStack Network. It includes Subnets and Router.

externalNetwork
Network

External Network contains information about the created OpenStack external network.

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

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.

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

networks
[]NetworkParam

A networks object. Required parameter when there are multiple networks defined for the tenant. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

subnet
string

UUID, IP address of a port from this subnet will be marked as AccessIPv4 on the created compute instance

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
[]SecurityGroupParam

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

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

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

networks
[]NetworkParam

A networks object. Required parameter when there are multiple networks defined for the tenant. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

ports
[]PortOpts

Ports to be attached to the server instance. They are created if a port with the given name does not already exist. When you do not specify both networks and ports parameters, the server attaches to the only network created for the current tenant.

subnet
string

UUID, IP address of a port from this subnet will be marked as AccessIPv4 on the created compute instance

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
[]SecurityGroupParam

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

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

OpenStackMachineTemplateSpec

(Appears on: OpenStackMachineTemplate)

OpenStackMachineTemplateSpec defines the desired state of OpenStackMachineTemplate.

Field Description
template
OpenStackMachineTemplateResource

PortOpts

(Appears on: Network, 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.

tenantId
string
projectId
string
securityGroups
[]string

The uuids of the security groups to assign to the instance

securityGroupFilters
[]SecurityGroupParam

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
map[string]string

A dictionary that enables the application running on the specified host to pass and receive virtual network interface (VIF) port-specific information to the plug-in.

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.

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: Instance, OpenStackMachineSpec)

Field Description
diskSize
int
volumeType
string
availabilityZone
string

Router

(Appears on: Network)

Router represents basic information about the associated OpenStack Neutron Router.

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

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: SecurityGroupParam)

Field Description
id
string
name
string
description
string
tenantId
string
projectId
string
limit
int
marker
string
sortKey
string
sortDir
string
tags
string
tagsAny
string
notTags
string
notTagsAny
string

SecurityGroupParam

(Appears on: OpenStackMachineSpec, PortOpts)

Field Description
uuid
string

Security Group UID

name
string

Security Group name

filter
SecurityGroupFilter

Filters used to query security groups in openstack

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: Network)

Subnet represents basic information about the associated OpenStack Neutron Subnet.

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

SubnetFilter

(Appears on: FixedIP, OpenStackClusterSpec, SubnetParam)

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

SubnetParam

(Appears on: ExternalRouterIPParam, NetworkParam)

Field Description
uuid
string

Optional UUID of the subnet. If specified this will not be validated prior to server creation. If specified, the enclosing NetworkParam must also be specified by UUID.

filter
SubnetFilter

Filters for optional subnet query

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.