Skip to content

OSDOCS-14472: CPMS custom machine name prefixes #93119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a really generic (and perhaps not very useful) intro to the new section below. Please feel free to suggest any other wording.

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ include::modules/cpmso-yaml-sample-cr.adoc[leveloffset=+1]

* xref:../../machine_management/control_plane_machine_management/cpmso-managing-machines.adoc#cpmso-feat-config-update_cpmso-managing-machines[Updating the control plane configuration]

[id="cpmso-config-options_{context}"]
== Control plane machine set configuration options

You can configure your control plane machine set to make customizations that meet your cluster's needs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can configure your control plane machine set to make customizations that meet your cluster's needs.
You can configure your control plane machine set to customize your cluster to your needs.

I don't know if my suggestions is any better than what you had.


//Adding a custom prefix to control plane machine names
include::modules/cpmso-config-options.adoc[leveloffset=+2]

[id="cpmso-sample-yaml-provider-specific_{context}"]
== Provider-specific configuration options

Expand Down
43 changes: 43 additions & 0 deletions modules/cpmso-config-options.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Module included in the following assemblies:
//
// * machine_management/cpmso-configuration.adoc

:_mod-docs-content-type: PROCEDURE
[id="cpmso-config-prefix_{context}"]
= Adding a custom prefix to control plane machine names

You can customize the prefix of machine names created by the control plane machine set.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can customize the prefix of machine names created by the control plane machine set.
You can customize the prefix of machine names that the control plane machine set created.

Tweak to avoid passive voice.

This can be done by editing the control plane machine set custom resource (CR)

.Procedure

. Edit your control plane machine set CR by running the following command:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which one is the right way to write this?

  • control plane machine set
  • control plane machine set CR
  • control plane machine set custom resource (CR)
  • ControlPlaneMachineSet CR

I am seeing all these are being used interchangeably.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am covering this feature for @jeana-redhat so I will let them weigh in (or tag anyone else who might weigh in). I am happy to go through this PR and change any variations in my added docs to any single term.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please cross-verify within your team for the right usage here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "control plane machine set" is defined by a "control plane machine set custom resource (CR)" which has the kind value of ControlPlaneMachineSet. So, in answer to the list above:

  • control plane machine set
    • this is valid, but here we are talking about editing the YAML CR so I would probably lean towards one of the others.
  • control plane machine set CR
    • this is valid and works here. In the repo, I see it 36 times.
  • control plane machine set custom resource (CR)
    • this is just how you are always supposed to write "CR" on first appearance. Once you define an abbreviation, you don't keep doing so. This is correct for line 10 above where it appears, afterwards it should be CR.
  • ControlPlaneMachineSet CR
    • this is valid and works here. In the repo, I see it 32 times

So, apparently I have been pretty evenly inconsistent on using "control plane machine set" and "ControlPlaneMachineSet" in front of custom resource/CR. For tangentially related docs reasons, I think we should prefer to write it as ControlPlaneMachineSet to avoid confusion with a "compute machine set" which is just MachineSet. I'll leave comments on this PR with my recommendations.

I will sweep the repo to change "control plane machine set CR" to "ControlPlaneMachineSet CR" at some point.

+
[source,terminal]
----
$ oc edit controlplanemachineset.machine.openshift.io cluster \
-n openshift-machine-api
----

. Edit the `.spec.machineNamePrefix` field of the `ControlPlaneMachineSet` CR:
+
[source,yaml]
----
spec:
machineNamePrefix: <machine_prefix>
----
+
where `<machine_prefix>` specifies a prefix name that follows the requirements for a lowercase RFC 1123 subdomain.
+
[IMPORTANT]
====
A lowercase RFC 1123 subdomain must consist of only lowercase alphanumeric characters, hyphens ('-'), and periods ('.').
Each block, separated by periods, must start and end with an alphanumeric character.
Hyphens are not allowed at the start or end of a block, and consecutive periods are not permitted.
====

. Save your changes to the `ControlPlaneMachineSet` CR.

. Delete your existing machines and wait for replacement machines with the new prefix name to be created.

// For now I am documenting this generic step above, but I can also add a step for RollingUpdate users to force rollouts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've used this before, probably just copy it for consistency:

Suggested change
. Save your changes to the `ControlPlaneMachineSet` CR.
. Delete your existing machines and wait for replacement machines with the new prefix name to be created.
// For now I am documenting this generic step above, but I can also add a step for RollingUpdate users to force rollouts.
. Save your changes.
.Next steps
* 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.