diff --git a/docs/faq.md b/docs/faq.md index 1b5d72ac0d..1dcd89ba2b 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -27,7 +27,7 @@ this document. Few of the answers assume that the MCM being used is in conjuctio - [How to scale down MachineDeployment by selective deletion of machines?](#how-to-scale-down-machinedeployment-by-selective-deletion-of-machines) - [How to force delete a machine?](#how-to-force-delete-a-machine) - [How to pause the ongoing rolling-update of the machinedeployment?](#how-to-pause-the-ongoing-rolling-update-of-the-machinedeployment) - - [How to delete machine object immedietly if I don't have access to it?](#how-to-delete-machine-object-immedietly-if-i-dont-have-access-to-it) + - [How to delete machine object immediately if I don't have access to it?](#how-to-delete-machine-object-immediately-if-i-dont-have-access-to-it) - [How to avoid garbage collection of your node?](#how-to-avoid-garbage-collection-of-your-node) - [How to trigger rolling update of a machinedeployment?](#how-to-trigger-rolling-update-of-a-machinedeployment) - [Internals](#internals) diff --git a/docs/operations/machine.md b/docs/operations/machine.md index eaecbbbd61..e446b26c2c 100644 --- a/docs/operations/machine.md +++ b/docs/operations/machine.md @@ -3,7 +3,7 @@ - [Creating/Deleting machines (VM)](#creatingdeleting-machines-vm) - [Setting up your usage environment](#setting-up-your-usage-environment) - - [Important :](#important) + - [Important :warning:](#important-warning) - [Creating machine](#creating-machine) - [Inspect status of machine](#inspect-status-of-machine) - [Delete machine](#delete-machine) @@ -13,7 +13,7 @@ * Follow the [steps described here](prerequisite.md) -## Important : +## Important :warning: > Make sure that the `kubernetes/machine_objects/machine.yaml` points to the same class name as the `kubernetes/machine_classes/aws-machine-class.yaml`. diff --git a/docs/todo/outline.md b/docs/todo/outline.md index 6234c5b716..5b4a381b24 100644 --- a/docs/todo/outline.md +++ b/docs/todo/outline.md @@ -36,7 +36,7 @@ MCM is a set controllers: | Minor change - correct the comment, first word should always be the method name. Currently none of the comments have correct names. | pkg/controller/controller_util.go | pending | | There are too many deep copies made. What is the need to make another deep copy in this method? You are not really changing anything here. | pkg/controller/deployment.go - updateMachineDeploymentFinalizers | pending | | Why can't these validations be done as part of a validating webhook? | pkg/controller/machineset.go - reconcileClusterMachineSet | pending | -| Small change to the following `if` condition. `else if` is not required a simple `else` is sufficient. [Code1](#1.1-code1) | | | +| Small change to the following `if` condition. `else if` is not required a simple `else` is sufficient. [Code1](#11-code1) | | | | pkg/controller/machineset.go - reconcileClusterMachineSet | pending | | | Why call these `inactiveMachines`, these are live and running and therefore active. | pkg/controller/machineset.go - terminateMachines | pending | @@ -56,12 +56,12 @@ MCM is a set controllers: | When will forgetAfterSuccess be false and why? - as per the current code this is never the case. - Himanshu will check | cmd/app/controllermanager.go - createWorker | pending | | What is the use of “ExpectationsInterface” and “UIDTrackingContExpectations”?
* All expectations related code should be in its own file “expectations.go” and not in this file. | pkg/controller/controller_util.go | pending | | Why do we not use lister but directly use the controlMachingClient to get the deployment? Is it because you want to avoid any potential delays caused by update of the local cache held by the informer and accessed by the lister? What is the load on API server due to this? | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | -| Why is this conversion needed? [code2](#1.2-code2) | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | +| Why is this conversion needed? [code2](#12-code2) | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | | A deep copy of `machineDeployment` is already passed and within the function another deepCopy is made. Any reason for it? | pkg/controller/deployment.go - addMachineDeploymentFinalizers | pending | | What is an `Status.ObservedGeneration`?
**Read more about generations and observedGeneration at:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
* https://alenkacz.medium.com/kubernetes-operator-best-practices-implementing-observedgeneration-250728868792
Ideally the update to the `ObservedGeneration` should only be made after successful reconciliation and not before. I see that this is just copied from `deployment_controller.go` as is | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | | Why and when will a `MachineDeployment` be marked as frozen and when will it be un-frozen? | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | | Shoudn't the validation of the machine deployment be done during the creation via a validating webhook instead of allowing it to be stored in etcd and then failing the validation during sync? I saw the checks and these can be done via validation webhook. | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | -| RollbackTo has been marked as deprecated. What is the replacement? [code3](#1.3-code3) | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | +| RollbackTo has been marked as deprecated. What is the replacement? [code3](#13-code3) | pkg/controller/deployment.go - reconcileClusterMachineDeployment | pending | | What is the max machineSet deletions that you could process in a single run? The reason for asking this question is that for every machineSetDeletion a new goroutine spawned.
* Is the `Delete` call a synchrounous call? Which means it blocks till the machineset deletion is triggered which then also deletes the machines (due to cascade-delete and blockOwnerDeletion= true)? | pkg/controller/deployment.go - terminateMachineSets | pending | | If there are validation errors or error when creating label selector then a nil is returned. In the worker reconcile loop if the return value is nil then it will remove it from the queue (forget + done). What is the way to see any errors? Typically when we describe a resource the errors are displayed. Will these be displayed when we discribe a `MachineDeployment`? | pkg/controller/deployment.go - reconcileClusterMachineSet | pending | | If an error is returned by `updateMachineSetStatus` and it is `IsNotFound` error then returning an error will again queue the `MachineSet`. Is this desired as `IsNotFound` indicates the `MachineSet` has been deleted and is no longer there? | pkg/controller/deployment.go - reconcileClusterMachineSet | pending |