Skip to content

Commit 4829556

Browse files
Danil-Grigorevg-gaston
authored andcommitted
Address outstanding review comments
Signed-off-by: Danil-Grigorev <[email protected]>
1 parent 1e47525 commit 4829556

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

docs/proposals/20240807-in-place-updates.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Refer to the [Cluster API Book Glossary](https://cluster-api.sigs.k8s.io/referen
6666

6767
__In-place Update__: any change to a Machine spec, including the Kubernetes Version, that is performed without deleting the machines and creating a new one.
6868

69-
__External Update Lifecycle Hook__: CAPI Lifecycle Runtime Hook to invoke external update extensions.
69+
__Update Lifecycle Hook__: CAPI Lifecycle Runtime Hook to invoke external update extensions.
7070

7171
__Update Extension__: Runtime Extension (Implementation) is a component responsible to perform in place updates when the `External Update Lifecycle Hook` is invoked.
7272

@@ -213,7 +213,7 @@ sequenceDiagram
213213
When configured, external updates will, roughly, follow these steps:
214214
1. CP/MD Controller: detect an update is required.
215215
2. CP/MD Controller: query defined update extensions, and based on the response decides if an update should happen in-place. If not, the update will be performed as of today (rollout).
216-
3. CP/MD Controller: mark machines as pending using `sigs.k8s.io/cluster-api/internal/hooks.MarkAsPending()` function to track that updaters should be called.
216+
3. CP/MD Controller: mark machines as pending to track that updaters should be called.
217217
4. Machine Controller: set `UpToDate` condition on machines to `False`.
218218
5. Machine Controller: invoke all registered updaters, sequentially, one by one.
219219
6. Machine Controller: once updaters finish use `sigs.k8s.io/cluster-api/internal/hooks.MarkAsDone()` to mark machine as done updating.
@@ -376,7 +376,7 @@ Once all of the updaters are complete, the Machine controller will mark machine
376376

377377
From this point on, the `KCP` or `MachineDeployment` controller will take over and set the `UpToDate` condition to `True`.
378378

379-
Note: We might revisit which controller should set `UpToDate` during implementation, because we have to make sure there are no race conditions that can lead to reconcile failures, but apart from the ownership of this operation, the workflows described in this doc should not be impacted.
379+
*Note: We might revisit which controller should set `UpToDate` during implementation, because we have to make sure there are no race conditions that can lead to reconcile failures, but apart from the ownership of this operation, the workflows described in this doc should not be impacted.*
380380

381381
### Infra Machine Template changes
382382

@@ -661,7 +661,7 @@ sequenceDiagram
661661
participant capi as MD controller
662662
participant msc as MachineSet Controller
663663
participant mach as Machine Controller
664-
participant hook as KCP version <br>update extension
664+
participant hook2 as KCP version <br>update extension
665665
participant hook as vSphere memory <br>update extension
666666
end
667667
@@ -673,6 +673,8 @@ sequenceDiagram
673673
apiserver->>-Operator: OK
674674
capi->>+hook: Can update [spec.memoryMiB]?
675675
hook->>capi: I can update [spec.memoryMiB]
676+
capi->>+hook2: Can update []?
677+
hook2->>capi: I can update []
676678
capi->>capi: Decide Update Strategy
677679
capi->>apiserver: Create new MachineSet
678680
loop For all Machines

0 commit comments

Comments
 (0)