Configuration reference

The [capi_helm] section controls driver-level settings (Helm chart location, flavour constraints, etc.).

The [capi_helm_cluster_labels] section controls the default values for all supported cluster labels. Every option here can be overridden per-cluster by the user via Magnum cluster (or template) labels.

capi_helm

kubeconfig_file
Type:

string

Default:

''

Path to a kubeconfig file for a management cluster,for use in the Cluster API driver. Defaults to the environment variable KUBECONFIG, or if not defined ~/.kube/config

namespace_prefix
Type:

string

Default:

magnum

Resources for each openstack cluster are created in a separate namespace within the CAPI Management cluster specified by the configuration: [capi_helm]/kubeconfig_file You should modify this prefix when two magnum deployments want to share a single CAPI management cluster.

helm_chart_repo
Type:

string

Default:

https://azimuth-cloud.github.io/capi-helm-charts

Reference to the helm chart repository for the cluster API driver. Note that if helm_chart_name starts with oci:// you will want this to set this to the empty string.

helm_chart_name
Type:

string

Default:

openstack-cluster

Name of the helm chart to use from the repo specified by the config: capi_driver.helm_chart_repo

default_helm_chart_version
Type:

string

Default:

0.10.1

Version of the helm chart specified by the config: capi_driver.helm_chart_repo and capi_driver.helm_chart_name. A cluster label can override this.

minimum_flavor_ram
Type:

integer

Default:

2048

Minimum RAM for flavor used to create a Kubernetes node.

minimum_flavor_vcpus
Type:

integer

Default:

2

Minimum VCPUS for flavor used to create a Kubernetes node.

csi_cinder_default_volume_type
Type:

string

Default:

<None>

Default StorageClass volume type for persistent volumes.

csi_cinder_allowed_topologies
Type:

list

Default:

[]

Select the Nodes where the application Pods may be scheduled based on Node labels.

app_cred_interface_type
Type:

string

Default:

public

The value to use in the interface field of generated application credentials.

api_resources
Type:

string

Default:

{}

Dictionary of cluster api resources to modify api_version

and plural names in string format.

Example:

'{
    "K8sControlPlane": {
      "api_version": "controlplane.cluster.x-k8s.io/v1beta1",
      "plural_name": "kubeadmcontrolplanes"
    },
    "OpenstackCluster": {
      "api_version": "infrastructure.cluster.x-k8s.io/v1beta1",
    },
}'
k8s_control_plane_resource_conditions
Type:

list

Default:

['MachinesReady', 'Ready', 'EtcdClusterHealthy', 'ControlPlaneComponentsHealthy']

List of conditions to check for kubernetes control plane resource to consider as ready.

capi_helm_cluster_labels

etcd_blockdevice_size
Type:

integer

Default:

0

Size of the etcd block device in GB. 0 means use the default ephemeral disk.

etcd_blockdevice_type
Type:

string

Default:

volume

Valid Values:

volume, local

Storage type for the etcd block device. ‘volume’ uses a Cinder volume; ‘local’ uses an ephemeral disk.

etcd_blockdevice_volume_type
Type:

string

Default:

''

Cinder volume type for the etcd block device.

etcd_blockdevice_volume_az
Type:

string

Default:

''

Availability zone for the etcd Cinder volume.

etcd_volume_size
Type:

integer

Default:

0

Deprecated: use etcd_blockdevice_size instead.

Deprecated Variations

Group

Name

capi_helm

etcd_volume_size

etcd_volume_type
Type:

string

Default:

''

Deprecated: use etcd_blockdevice_volume_type instead.

Deprecated Variations

Group

Name

capi_helm

etcd_volume_type

monitoring_enabled
Type:

boolean

Default:

False

Enable the monitoring addon on the cluster.

kube_dashboard_enabled
Type:

boolean

Default:

True

Enable the Kubernetes Dashboard addon.

auto_healing_enabled
Type:

boolean

Default:

True

Enable auto-healing for cluster nodes.

auto_scaling_enabled
Type:

boolean

Default:

False

Enable the cluster autoscaler.

min_node_count
Type:

integer

Default:

<None>

Minimum node count for autoscaling. Defaults to the nodegroup node_count when unset.

max_node_count
Type:

integer

Default:

<None>

Maximum node count for autoscaling. Defaults to the nodegroup node_count when unset.

keystone_auth_enabled
Type:

boolean

Default:

False

Enable the Keystone authentication webhook.

csi_cinder_availability_zone
Type:

string

Default:

nova

Default availability zone for Cinder volumes.

Deprecated Variations

Group

Name

capi_helm

csi_cinder_availability_zone

csi_cinder_reclaim_policy
Type:

string

Default:

Retain

Valid Values:

Retain, Delete

Reclaim policy for dynamically provisioned persistent volumes. Can be ‘Retain’ or ‘Delete’.

Deprecated Variations

Group

Name

capi_helm

csi_cinder_reclaim_policy

csi_cinder_volume_binding_mode
Type:

string

Default:

WaitForFirstConsumer

Valid Values:

WaitForFirstConsumer, Immediate

Controls when volume binding and dynamic provisioning occur. Can be ‘WaitForFirstConsumer’ or ‘Immediate’.

Deprecated Variations

Group

Name

capi_helm

csi_cinder_volume_binding_mode

csi_cinder_fstype
Type:

string

Default:

ext4

Filesystem type for persistent volumes.

Deprecated Variations

Group

Name

capi_helm

csi_cinder_fstype

csi_cinder_allow_volume_expansion
Type:

boolean

Default:

True

Allow users to resize persistent volumes by editing the PVC.

Deprecated Variations

Group

Name

capi_helm

csi_cinder_allow_volume_expansion

octavia_provider
Type:

string

Default:

amphora

Octavia load balancer provider (e.g. ‘amphora’ or ‘ovn’).

octavia_lb_algorithm
Type:

string

Default:

''

Load balancer algorithm. When unset, defaults to SOURCE_IP_PORT for the ovn provider and ROUND_ROBIN for all others.

octavia_lb_healthcheck
Type:

boolean

Default:

True

Enable health checks on the load balancer.

master_lb_floating_ip_enabled
Type:

boolean

Default:

True

Associate a floating IP with the API load balancer.

fixed_subnet_cidr
Type:

string

Default:

10.0.0.0/24

CIDR for the node network when no fixed_subnet is specified.

api_master_lb_allowed_cidrs
Type:

string

Default:

''

Comma-separated list of CIDRs allowed to reach the API load balancer. Empty means all CIDRs are allowed.

extra_network_name
Type:

string

Default:

''

Name of an additional Neutron network to attach to each node.

boot_volume_type
Type:

string

Default:

<None>

Root volume type. Falls back to the cinder config option default_boot_volume_type when unset.

boot_volume_size
Type:

integer

Default:

<None>

Root volume size in GB. Falls back to the cinder config option default_boot_volume_size when unset.

capi_helm_chart_version
Type:

string

Default:

''

Helm chart version to use. Can only be set via the cluster template label, not overridden per cluster. Falls back to capi_helm.default_helm_chart_version when unset.