Skip to content

Commit 2369761

Browse files
authored
Merge pull request #2623 from detiber/updateFailureDomainDocs
📖 Update provider documentation for failureDomains
2 parents 762cb28 + b8ca362 commit 2369761

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

docs/book/src/developer/providers/machine-infrastructure.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@ A machine infrastructure provider must define an API type for "infrastructure ma
1717
1. Required fields:
1818
1. `providerID` (string): the identifier for the provider's machine instance
1919
2. Optional fields:
20-
1. `failureDomain` (string): the string identifier of the failure domain the instance is running in
20+
1. `failureDomain` (string): the string identifier of the failure domain the instance is running in for the
21+
purposes of backwards compatibility and migrating to the v1alpha3 FailureDomain support (where FailureDomain
22+
is specified in Machine.Spec.FailureDomain). This field is meant to be temporary to aid in migration of data
23+
that was previously defined on the provider type and providers will be expected to remove the field in the
24+
next version that provides breaking API changes, favoring the value defined on Machine.Spec.FailureDomain
25+
instead. If supporting conversions from previous types, the provider will need to support a conversion from
26+
the provider-specific field that was previously used to the `failureDomain` field to support the automated
27+
migration path.
2128
6. Must have a `status` field with the following:
2229
1. Required fields:
2330
1. `ready` (boolean): indicates the provider-specific infrastructure has been provisioned and is ready

docs/book/src/developer/providers/v1alpha2-to-v1alpha3.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ An infrastructure provider can implement this by setting the `InfraCluster.Statu
166166
unique keys to `failureDomainSpec`s as well as respecting a set `Machine.Spec.FailureDomain` field when creating
167167
instances.
168168

169+
To support migration from failure domains that were previously specified through provider-specific resources, the
170+
Machine controller will support updating `Machine.Spec.FailureDomain` field if `Spec.FailureDomain` is present and
171+
defined on the provider-defined infrastructure resource.
172+
169173
Please see the cluster and machine infrastructure provider specifications for more detail.
170174

171175
## Refactor kustomize `config/` folder to support multi-tenancy when using webhooks.
@@ -475,4 +479,4 @@ spec:
475479
It is the recommended way to setup a management cluster and it implements best practices to avoid common mis-configurations
476480
and for managing the life-cycle of deployed providers, e.g. upgrades.
477481

478-
see [clusterctl provider contract](../../clusterctl/provider-contract.md) for more details.
482+
see [clusterctl provider contract](../../clusterctl/provider-contract.md) for more details.

0 commit comments

Comments
 (0)