Skip to content
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

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

Closed
wants to merge 1 commit into from

Conversation

tvu20
Copy link
Contributor

@tvu20 tvu20 commented Aug 3, 2022

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

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

@openshift-ci openshift-ci bot added component/core Related to console core functionality component/dashboard Related to dashboard component/pipelines Related to pipelines-plugin kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated labels Aug 3, 2022
@tvu20
Copy link
Contributor Author

tvu20 commented Aug 4, 2022

/retest

@jcaianirh
Copy link
Member

QE Approver:
/assign @yapei

Docs Approver:
/assign @opayne1

PX Approver:
/assign @RickJWagner

Console Approver:
/assign @rhamilto

Copy link

@RickJWagner RickJWagner left a comment

Choose a reason for hiding this comment

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

8 files reviewed, good.

@RickJWagner
Copy link

/label px-approved

@openshift-ci openshift-ci bot added the px-approved Signifies that Product Support has signed off on this PR label Aug 4, 2022
@RickJWagner RickJWagner removed their assignment Aug 4, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 4, 2022

[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

@adellape
Copy link

adellape commented Aug 4, 2022

/label docs-approved

@openshift-ci openshift-ci bot added the docs-approved Signifies that Docs has signed off on this PR label Aug 4, 2022
@rhamilto
Copy link
Member

rhamilto commented Aug 5, 2022

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

  const mcpName = machineConfigPool?.metadata?.name; 
  const machineConfigPoolIsEditable = useAccessReview({
    group: MachineConfigPoolModel.apiGroup,
    resource: MachineConfigPoolModel.plural,
    verb: 'patch',
    name: 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,

Screen.Recording.2022-08-05.at.10.17.35.AM.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

@@ -512,7 +512,7 @@ const NodesPage = connect<{}, MapDispatchToProps>(
items: [
{
id: 'master',
title: t('console-app~Master'),
title: t('console-app~Control plane node'),
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
title: t('console-app~Control plane node'),
title: t('console-app~Control plane'),

@openshift-ci openshift-ci bot added component/lso Related to local-storage-operator-plugin component/shared Related to console-shared labels Aug 5, 2022
@rhamilto
Copy link
Member

rhamilto commented Aug 5, 2022

@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.

@@ -297,7 +297,7 @@ export const getNotUpgradeableResources = (resources) =>
resources.filter((resource) => getConditionUpgradeableFalse(resource));

export enum NodeTypes {
master = 'master',
Copy link
Member

Choose a reason for hiding this comment

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

This is problematic for

export const isMCPMaster = (mcp: MachineConfigPoolKind) => mcp.metadata.name === NodeTypes.master;

@yapei
Copy link
Contributor

yapei commented Aug 8, 2022

@XiyunZhao is testing on this PR

@tvu20
Copy link
Contributor Author

tvu20 commented Aug 8, 2022

/retest

1 similar comment
@tvu20
Copy link
Contributor Author

tvu20 commented Aug 8, 2022

/retest

@XiyunZhao
Copy link

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

@tvu20
Copy link
Contributor Author

tvu20 commented Aug 9, 2022

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
Copy link
Contributor Author

tvu20 commented Aug 11, 2022

/retest

1 similar comment
@tvu20
Copy link
Contributor Author

tvu20 commented Aug 11, 2022

/retest

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

Changes all string occurences of "master" in the console to "control plane node".
@tvu20
Copy link
Contributor Author

tvu20 commented Aug 11, 2022

/retest

1 similar comment
@tvu20
Copy link
Contributor Author

tvu20 commented Aug 12, 2022

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 12, 2022

@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 bf85b78 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.

@XiyunZhao
Copy link

@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?

@jhadvig
Copy link
Member

jhadvig commented Aug 15, 2022

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

@opayne1
Copy link
Contributor

opayne1 commented Aug 15, 2022

@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
Copy link
Contributor

opayne1 commented Aug 15, 2022

/label docs-approved

@XiyunZhao
Copy link

@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.

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

@jhadvig
Copy link
Member

jhadvig commented Aug 16, 2022

@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

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 16, 2022
@spadgett
Copy link
Member

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?

@sdodson
Copy link
Member

sdodson commented Aug 18, 2022

@deads2k @sdodson Has this come up before?

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

@spadgett
Copy link
Member

@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
Copy link
Member

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

@jcaianirh
Copy link
Member

jcaianirh commented Oct 18, 2022

@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?

@rhamilto
Copy link
Member

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
Copy link
Member

Replaced by #12209

@rhamilto rhamilto closed this Oct 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/core Related to console core functionality component/dashboard Related to dashboard component/lso Related to local-storage-operator-plugin component/pipelines Related to pipelines-plugin component/shared Related to console-shared do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. docs-approved Signifies that Docs has signed off on this PR kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated px-approved Signifies that Product Support has signed off on this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.