Add conditions to the KubeadmConfig object #3110
Labels
kind/feature
Categorizes issue or PR as related to a new feature.
lifecycle/active
Indicates that an issue or PR is actively being worked on by a contributor.
Milestone
User Story
As a developer/user/operator I would like to have conditions documenting the operational state of
KubeadmConfig
objectsDetailed Description
The
KubeadmConfig
object drives the process of generating a BootstrapSecret; this process waits for the cluster infrastructure to be ready first and then theKubeadmConfig
for first control plane machine is processed; instead, theKubeadmConfig
objects for additional control plane nodes and theKubeadmConfig
for workers should wait for that the first control plane machine to be initialized before being processed.Once a BootstrapSecret secret is generated, no further actions are taken for a
KubeadmConfig
.As a consequence, I'm proposing to implement a single condition for the
KubeadmConfig
objectState=True
represents a properly generated BootstrapSecret, whileState=False
represents the process of waiting for the preconditions for generating the BootstrapSecret and this phase can be further detailed by the following reasons:When the BootstrapSecret generation starts the process completes immediately and within the same reconciliation, so the user will always see a transition from Wait to Succeed without having evidence that BootstrapSecret generation is started.
TBD if to add a reason Severity=Warning or Error to surface problems during this operation.
TBD if to add additional conditions reporting if/when certificates are generated; this condition applies only to the fist control plane machine when certificates are not provided by the users
Anything else you would like to add:
As required by the condition CAEP, the KubeadmConfig objects should provide a
Ready
condition describing the overall state of the object. However, given that the KubeadmConfig has only a condition I see two options here:A) have a
Ready
condition mirroring exactly theBootstrapSecretGenerationSucceeded
conditionB) have only the
Ready
condition that acts as theBootstrapSecretGenerationSucceeded
described aboveI would like to have more opinions here.
/kind feature
The text was updated successfully, but these errors were encountered: