From a09084716bd8085233b271f020f932fa1bce58c2 Mon Sep 17 00:00:00 2001 From: Jeana Routh Date: Tue, 1 Aug 2023 14:30:47 -0400 Subject: [PATCH] Reorganize CPMS info --- .../cpmso-using.adoc | 9 ++-- modules/cpmso-feat-auto-update.adoc | 8 ++-- modules/cpmso-feat-config-update.adoc | 2 +- ...s.adoc => cpmso-feat-ondelete-update.adoc} | 8 ++-- modules/cpmso-feat-replace.adoc | 41 +++++++++++++++++++ 5 files changed, 56 insertions(+), 12 deletions(-) rename modules/{cpmso-feat-test-changes.adoc => cpmso-feat-ondelete-update.adoc} (50%) create mode 100644 modules/cpmso-feat-replace.adoc diff --git a/machine_management/control_plane_machine_management/cpmso-using.adoc b/machine_management/control_plane_machine_management/cpmso-using.adoc index 52128df513..64a3b4da94 100644 --- a/machine_management/control_plane_machine_management/cpmso-using.adoc +++ b/machine_management/control_plane_machine_management/cpmso-using.adoc @@ -8,17 +8,20 @@ toc::[] Control plane machine sets automate several essential aspects of control plane management. +//Replacing a control plane machine +include::modules/cpmso-feat-replace.adoc[leveloffset=+1] + //Vertical resizing of the control plane //include::modules/cpmso-feat-vertical-resize.adoc[leveloffset=+1] //Updating the control plane configuration include::modules/cpmso-feat-config-update.adoc[leveloffset=+1] -//Automatically updating the control plane configuration +//Automatic updates to the control plane configuration include::modules/cpmso-feat-auto-update.adoc[leveloffset=+2] -//Testing changes to the control plane configuration -include::modules/cpmso-feat-test-changes.adoc[leveloffset=+2] +//Manual updates to the control plane configuration +include::modules/cpmso-feat-ondelete-update.adoc[leveloffset=+2] [id="cpmso-supported-features-aws_{context}"] == Enabling Amazon Web Services features for control plane machines diff --git a/modules/cpmso-feat-auto-update.adoc b/modules/cpmso-feat-auto-update.adoc index 562ebf3078..87d3ed459c 100644 --- a/modules/cpmso-feat-auto-update.adoc +++ b/modules/cpmso-feat-auto-update.adoc @@ -4,10 +4,10 @@ :_content-type: CONCEPT [id="cpmso-feat-auto-update_{context}"] -= Automatically updating the control plane configuration += Automatic updates to the control plane configuration -You can use the `RollingUpdate` update strategy to automatically propagate changes to your control plane configuration. +The `RollingUpdate` update strategy automatically propagates changes to your control plane configuration. This update strategy is the default configuration for the control plane machine set. -For clusters that use the default `RollingUpdate` update strategy, the Operator creates a replacement control plane machine with the configuration that is specified in the CR. When the replacement control plane machine is ready, the Operator deletes the control plane machine that is marked for replacement. The replacement machine then joins the control plane. +For clusters that use the `RollingUpdate` update strategy, the Operator creates a replacement control plane machine with the configuration that is specified in the CR. When the replacement control plane machine is ready, the Operator deletes the control plane machine that is marked for replacement. The replacement machine then joins the control plane. -If multiple control plane machines are marked for replacement, the Operator repeats this replacement process one machine at a time until each machine is replaced. +If multiple control plane machines are marked for replacement, the Operator protects etcd health during replacement by repeating this replacement process one machine at a time until it has replaced each machine. \ No newline at end of file diff --git a/modules/cpmso-feat-config-update.adoc b/modules/cpmso-feat-config-update.adoc index be0e8bc919..8463ec6eb7 100644 --- a/modules/cpmso-feat-config-update.adoc +++ b/modules/cpmso-feat-config-update.adoc @@ -35,6 +35,6 @@ $ oc edit controlplanemachineset.machine.openshift.io cluster \ .Next steps -* For clusters that use the default `RollingUpdate` update strategy, the changes to your control plane configuration are propagated automatically. +* For clusters that use the default `RollingUpdate` update strategy, the control plane machine set propagates changes to your control plane configuration automatically. * For clusters that are configured to use the `OnDelete` update strategy, you must replace your control plane machines manually. \ No newline at end of file diff --git a/modules/cpmso-feat-test-changes.adoc b/modules/cpmso-feat-ondelete-update.adoc similarity index 50% rename from modules/cpmso-feat-test-changes.adoc rename to modules/cpmso-feat-ondelete-update.adoc index d5513cf610..3a1ddf081b 100644 --- a/modules/cpmso-feat-test-changes.adoc +++ b/modules/cpmso-feat-ondelete-update.adoc @@ -3,11 +3,11 @@ // * machine_management/control_plane_machine_management/cpmso-using.adoc :_content-type: CONCEPT -[id="cpmso-feat-test-changes_{context}"] -= Testing changes to the control plane configuration +[id="cpmso-feat-ondelete-update_{context}"] += Manual updates to the control plane configuration -You can use the `OnDelete` update strategy to test changes to your control plane configuration. With this update strategy, you replace control plane machines manually. Manually replacing machines allows you to test changes to your configuration on a single machine before applying the changes more broadly. +You can use the `OnDelete` update strategy to propagate changes to your control plane configuration by replacing machines manually. Manually replacing machines allows you to test changes to your configuration on a single machine before applying the changes more broadly. For clusters that are configured to use the `OnDelete` update strategy, the Operator creates a replacement control plane machine when you delete an existing machine. When the replacement control plane machine is ready, the etcd Operator allows the existing machine to be deleted. The replacement machine then joins the control plane. -If multiple control plane machines are deleted, the Operator creates all of the required replacement machines simultaneously. \ No newline at end of file +If multiple control plane machines are deleted, the Operator creates all of the required replacement machines simultaneously. The Operator maintains etcd health by preventing more than one machine being removed from the control plane at once. \ No newline at end of file diff --git a/modules/cpmso-feat-replace.adoc b/modules/cpmso-feat-replace.adoc new file mode 100644 index 0000000000..d1344c50cf --- /dev/null +++ b/modules/cpmso-feat-replace.adoc @@ -0,0 +1,41 @@ +// Module included in the following assemblies: +// +// * machine_management/control_plane_machine_management/cpmso-using.adoc + +:_content-type: PROCEDURE +[id="cpmso-feat-replace_{context}"] += Replacing a control plane machine + +To replace a control plane machine in a cluster that has a control plane machine set, you delete the machine manually. The control plane machine set replaces the deleted machine with one using the specification in the control plane machine set custom resource (CR). + +.Procedure + +. List the control plane machines in your cluster by running the following command: ++ +[source,terminal] +---- +$ oc get machines \ + -l machine.openshift.io/cluster-api-machine-role==master \ + -n openshift-machine-api +---- + +. Delete a control plane machine by running the following command: ++ +[source,terminal] +---- +$ oc delete machine \ + -n openshift-machine-api \ + <1> +---- +<1> Specify the name of the control plane machine to delete. ++ +[NOTE] +==== +If you delete multiple control plane machines, the control plane machine set replaces them according to the configured update strategy: + +* For clusters that use the default `RollingUpdate` update strategy, the Operator replaces one machine at a time until each machine is replaced. + +* For clusters that are configured to use the `OnDelete` update strategy, the Operator creates all of the required replacement machines simultaneously. + +Both strategies maintain etcd health during control plane machine replacement. +==== \ No newline at end of file