console icon indicating copy to clipboard operation
console copied to clipboard

CONSOLE-3243: Rename "master" to "control plane node" in node pages

Open tvu20 opened this issue 2 years ago • 24 comments

Addresses https://issues.redhat.com/browse/CONSOLE-3243

Changes all string occurences of "master" in the console to "control plane node".

tvu20 avatar Aug 03 '22 13:08 tvu20

/retest

tvu20 avatar Aug 04 '22 14:08 tvu20

QE Approver: /assign @yapei

Docs Approver: /assign @opayne1

PX Approver: /assign @RickJWagner

Console Approver: /assign @rhamilto

jcaianirh avatar Aug 04 '22 20:08 jcaianirh

/label px-approved

RickJWagner avatar Aug 04 '22 20:08 RickJWagner

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: RickJWagner, tvu20 Once this PR has been reviewed and has the lgtm label, please ask for approval from rhamilto by writing /assign @rhamilto in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

openshift-ci[bot] avatar Aug 04 '22 20:08 openshift-ci[bot]

/label docs-approved

adellape avatar Aug 04 '22 20:08 adellape

Nice work, @tvu20! Also need to include updates to Cluster Settings:

  • https://github.com/openshift/console/blob/48991b57ac9e73f352fefd3f6ce7402e7da74403/frontend/public/module/k8s/cluster-settings.ts#L309 becomes Master = 'Control plane',
  • https://github.com/openshift/console/blob/48991b57ac9e73f352fefd3f6ce7402e7da74403/frontend/public/components/cluster-settings/cluster-settings.tsx#L619-L624 becomes
  const mcpName = machineConfigPool?.metadata?.name; 
  const machineConfigPoolIsEditable = useAccessReview({
    group: MachineConfigPoolModel.apiGroup,
    resource: MachineConfigPoolModel.plural,
    verb: 'patch',
    name: mcpName,
  });
  • https://github.com/openshift/console/blob/48991b57ac9e73f352fefd3f6ce7402e7da74403/frontend/public/components/cluster-settings/cluster-settings.tsx#L648 becomes to={/k8s/cluster/nodes?rowFilter-node-role=${mcpName}}

It strikes me as a little odd that we're changing "master" to "control plane", but the underlying resource labels aren't changing. So we still have "master" in the UI. For example,

https://user-images.githubusercontent.com/895728/183096759-0aeb6d02-9b32-4ae5-a43b-2aae66246583.mov

Screen Shot 2022-08-05 at 10 21 50 AM Screen Shot 2022-08-05 at 10 21 18 AM Screen Shot 2022-08-05 at 10 21 30 AM

Do we need to engage UXD here so as to avoid creating confusion for users? cc: @megan-hall

rhamilto avatar Aug 05 '22 14:08 rhamilto

@tvu20, I think this probably merits a wider discussion. Unless the resource names (e.g., /k8s/cluster/machineconfiguration.openshift.io~v1~MachineConfigPool/master) and associated labels are changing, there is a limit to how far we can take these changes, and I fear it may create confusion on the part of end users. We probably need to revisit the intent of the story with @jhadvig and the stakeholder.

rhamilto avatar Aug 05 '22 17:08 rhamilto

@XiyunZhao is testing on this PR

yapei avatar Aug 08 '22 06:08 yapei

/retest

tvu20 avatar Aug 08 '22 13:08 tvu20

/retest

tvu20 avatar Aug 08 '22 16:08 tvu20

Hi @tvu20, based on current changes, I opened two bugs for this new feature, could you help to identify whether they need to update or not?

  1. The name of "master" on "Filter by node type" dropdown list on cluster utilization on the overview page is not changed https://bugzilla.redhat.com/show_bug.cgi?id=2116608 overview_nodetype
  2. After the changes, duplicate role name will be listed on "Nodes" page which is incorrect https://bugzilla.redhat.com/show_bug.cgi?id=2116625 nodes-controlplan

XiyunZhao avatar Aug 09 '22 04:08 XiyunZhao

Hi @XiyunZhao, I have just pushed a new commit that addresses bug 1. I am not able to replicate the second bug on my end.

tvu20 avatar Aug 09 '22 18:08 tvu20

/retest

tvu20 avatar Aug 11 '22 13:08 tvu20

/retest

tvu20 avatar Aug 11 '22 14:08 tvu20

/retest

tvu20 avatar Aug 11 '22 20:08 tvu20

/retest

tvu20 avatar Aug 12 '22 00:08 tvu20

@tvu20: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/frontend bf85b78ce3cfdd35a76c6767f63e1571310807a7 link true /test frontend

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

openshift-ci[bot] avatar Aug 12 '22 02:08 openshift-ci[bot]

@tvu20 sorry for bug 2, after checking, it is not a duplicate value. I would like to ask what's the difference between "control plane" with "control-plane"? Will it mislead customers?

XiyunZhao avatar Aug 15 '22 11:08 XiyunZhao

@opayne1 could you please elaborate on the previous question? Thanks !

jhadvig avatar Aug 15 '22 14:08 jhadvig

@jhadvig @XiyunZhao In our documentation, we use "control plane" with no hyphen. See the Control plane architecture docs for an example. We also have it as "control planes" no hyphen in our documentation contributor guidelines. Adding the docs-approved label as this PR looks good to me.

opayne1 avatar Aug 15 '22 15:08 opayne1

/label docs-approved

opayne1 avatar Aug 15 '22 15:08 opayne1

@tvu20, I think this probably merits a wider discussion. Unless the resource names (e.g., /k8s/cluster/machineconfiguration.openshift.io~v1~MachineConfigPool/master) and associated labels are changing, there is a limit to how far we can take these changes, and I fear it may create confusion on the part of end users. We probably need to revisit the intent of the story with @jhadvig and the stakeholder.

@tvu20 Is there any conclusion for this comment? Could you help to add some details to features description?

XiyunZhao avatar Aug 16 '22 01:08 XiyunZhao

@tvu20, I think this probably merits a wider discussion. Unless the resource names (e.g., /k8s/cluster/machineconfiguration.openshift.iov1MachineConfigPool/master) and associated labels are changing, there is a limit to how far we can take these changes, and I fear it may create confusion on the part of end users. We probably need to revisit the intent of the story with @jhadvig and the stakeholder.

I agree with @rhamilto. We should revisit the story since it can lead to confusion between Nodes, MachineConfig and MachineConfigPool resources, which are still using the legacy master naming. Until that is solved, this change would only lead to user confusion. We should be consistent with the naming.

/hold

jhadvig avatar Aug 16 '22 09:08 jhadvig

I'm in favor of doing what we can to get away from this terminology, but I agree this will create confusion since the actual names and labels of the resources are still master. You'll need to know the real value when using the CLI, writing label selectors, or editing the resource YAML. Even in the UI, we would show "control plane" in some places and "master" in others as @rhamilto points out.

Have we considered fixing this at the platform level and changing the actual resource names? (I'm sure this is easier said than done since names are immutable, this is arguably API breaking, and we probably don't want to drift from upstream...)

@deads2k @sdodson Has this come up before?

spadgett avatar Aug 16 '22 14:08 spadgett

@deads2k @sdodson Has this come up before?

Poking around to see what I can find. This seems to have happened upstream via kubeadm(https://github.com/kubernetes/kubeadm/issues/2200) but we won't pick those changes up in OCP as we don't leverage kubeadm.

sdodson avatar Aug 18 '22 13:08 sdodson

@sdodson has pointed out that we should at least be able to use a new node role in 4.12: https://bugzilla.redhat.com/show_bug.cgi?id=1995858 (thanks!)

spadgett avatar Aug 18 '22 14:08 spadgett

OK, here is the upstream guidance:

https://github.com/kubernetes/community/blob/master/sig-architecture/naming/recommendations/001-master-control-plane.md

Based on this, I'd suggest

  1. We use "control plane" or "control plane nodes" in text descriptions, help, etc. rather than "master"
  2. We use the node-role.kubernetes.io/control-plane role instead of node-role.kubernetes.io/master
  3. We only use master when displaying a name of a resource

spadgett avatar Aug 18 '22 14:08 spadgett

@spadgett @rhamilto @jhadvig So based on Sams comment above, is this PR / story still needed or is this change a docs only or help only change? If this is a code change, can we push this to 4.13?

jcaianirh avatar Oct 18 '22 23:10 jcaianirh

https://github.com/kubernetes/community/blob/master/sig-architecture/naming/recommendations/001-master-control-plane.md

Yes, we'll still need console code changes, most of which are in this PR, but we need a few tweaks based on the guidance.

rhamilto avatar Oct 19 '22 12:10 rhamilto

Replaced by https://github.com/openshift/console/pull/12209

rhamilto avatar Oct 25 '22 20:10 rhamilto