Introduces a [capi_helm_cluster_labels] oslo.config group that serves as the authoritative registry for all supported cluster labels. Each label is defined as a typed oslo.config option (BoolOpt/IntOpt/StrOpt) with a default value and help text, which operators can override site-wide in magnum.conf and users can override per-cluster via Magnum labels. The five csi_cinder_* options previously scattered in [capi_helm] are migrated to the new group with deprecated_opts so existing magnum.conf files remain compatible without changes. _label(), _get_label_bool(), _get_label_int() now raise ValueError for any key not registered in the new group. A new _get_label_csv() method handles the comma-separated api_master_lb_allowed_cidrs label. A new AST-based unit test (TestClusterLabelRegistry) walks driver.py at test time and asserts that every string-literal key passed to any _label* method is present in capi_helm_cluster_labels_opts, preventing unregistered labels from being silently introduced. Documentation is updated to drop the hand-maintained label table in favour of a cross-reference to the Configuration Reference page, which oslo_config.sphinxext now auto-generates from the new group alongside the existing [capi_helm] section. Generated-By: Claude Sonnet 4.6 Change-Id: I2eb36d4c9bddc9d378b05bce1640d8a6d479552b Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
1.6 KiB
Configuration Guide
For complete reference of configuration options for this driver used in magnum.conf plesese refer to:
Configuration Reference <config-reference>
Features
The driver currently supports create, delete and upgrade operations as well as updates to node groups and their sizes.
The Kubernetes versions against which the CAPI Helm charts are currently being tested can be found here.
The driver supports cluster labels to customise cluster behaviour.
The full list of supported labels, their types, defaults, and
descriptions is maintained in the Configuration Reference <config-reference> under
the [capi_helm_cluster_labels] section.
Default values for all labels can be set operator-wide in
magnum.conf under [capi_helm_cluster_labels]
and overridden per cluster or template by the user via Magnum
labels.
Note
capi_helm_chart_version can only be set via a cluster
template label and cannot be overridden per cluster. When unset it falls
back to [capi_helm] default_helm_chart_version.
Tip & Tricks
Currently, all clusters use the Calico CNI. While Cilium is also supported in the Helm charts, it is not currently regularly tested.
We have found that cluster upgrades with ClusterAPI don't work well without using a load balancer, even with a single node control plane, so we currently ignore the "master-lb-enabled" flag.