Move "External" around in some resource names/properties#1354
Conversation
|
I'm fine with this change, I think External prefix is wordy. The original reasoning for this was to make sure there's no confusion between k8s names and SC names. @pmorie recall the details? |
| spec: | ||
| externalClusterServiceClassName: test-serviceclass | ||
| externalClusterServicePlanName: example-plan-1 | ||
| clusterServiceClassName: test-serviceclass |
There was a problem hiding this comment.
Wonder if there's way to find a way to get rid of the cluster* prefix. At first I thought, great because it's in the cluster service instance, but it's not. if there was a way to get the context 'for free' as being cluster or namespaced, would be nice to not have to specify it here.
There was a problem hiding this comment.
I suspect we may allow for the same name to be used at both scopes, which mean we'll need a way for the user to tell us which one they mean.
There was a problem hiding this comment.
Yeah, I think we need to keep cluster prefix for the forward compatibility with namespace-scoped counterparts in future.
There was a problem hiding this comment.
@nilebox is correct; let's not do this precise rename
|
|
||
| const externalClusterServiceClassName = "test-serviceclass" | ||
| const externalClusterServicePlanName = "test-plan" | ||
| const ClusterServiceClassName = "test-serviceclass" |
There was a problem hiding this comment.
should be kept private probably (camel-case)
b2246bc to
9d843f3
Compare
|
How is this going to look with |
|
what if we used some other prefix because "External"? Something that might actually mean something to the end-user? Like "ClusterServiceClassCliName"? Either way, it seems to me that the prefix should go next to "Name" not before the entire string. Thoughts? |
I totally agree with that. My point though is that it should be the same as the field name in the resource we are referring to. Is it called Referring to OSB or CLI or whatever you want user to be aware of is confusing to me. |
|
@duglin if you are unhappy with |
|
@nilebox agreed on both points. So what do people think about calling the property CliName instead of ExternalName? |
|
@duglin where do you get reference to "Cli" from? CLI is a client-side tool which has nothing to do with svc-cat API server. Our project, Smith, for example, talks directly to the Service Catalog server, and having to deal with If anything, I can live with |
|
I picked "cli" because I was thinking that it was what we would have users (cli-folks) to use. But, I'm ok with just about anything that's might make more sense to the end user than "External", which is meaningless to me and feels more like we're exposing the inner-workings to people, which they shouldn't care about. "osb" might be ok but I'd prefer for people not to even know that OSB is at play here. I mean technically "HumanReadable" :-) is good but of course it also sucks because its too long. Short or Display perhaps? |
|
@duglin Until we come up with consensus on a better name, can you make change with |
|
I'm not a fan of making a long name longer and reordering it 'until we come up with consensus' approach given the churn it will produce. |
|
The OSB spec defines So I still kind of like: If/when we get around to having a nice UX kubectl plugin then this is the name they will specify - so consistency between the cli and yaml would be good. |
|
I'm fine with CLI in the name. I think it's consistent with OSB spec. |
Dunno, to me it sounds like CFism. OSB spec doesn't (and shouldn't) have any requirements for marketplace to provide a CLI interface at all, so I am not even sure which CLI does it refer to. I get the "human-readable name" goal, just don't think it has anything to do with CLI. What if marketplace has a user-friendly UI (which needs human-readable names too), but doesn't provide a CLI interface? Does it make marketplace non-OSB-compliant? I don't think so. |
|
|
|
I'm thinking of "cli" as "client" and less like "Command Line Interface", and with that view a nice UI fits too. |
4116a8d to
8bcaa31
Compare
call it |
8bcaa31 to
cab11f7
Compare
|
ok, made it "ClientName" even though I have a slight preference for "CliName" because its shorter. What do people think? |
|
LGTM. |
| ExternalClusterServiceClassName: externalClusterServiceClassName, | ||
| ClusterServicePlanName: externalClusterServicePlanName, | ||
| ClusterServiceClassClientName: clusterServiceClassClientName, | ||
| ClusterServicePlanName: clusterServicePlanClientName, |
There was a problem hiding this comment.
shouldn't this plan name field in the PlanReference type have "ClientName" in its name as well?
There was a problem hiding this comment.
I think ClusterServicePlanName refers to the k8s name. In that resource we now have both, ClusterServicePlanClientName and ClusterServicePlanName. I'm pretty sure it wouldn't be very kube-ish but making it ClusterServicePlanK8sName would clarify it.
There was a problem hiding this comment.
adding extra levels with grouping k8s- and client- names together would help, but I know you don't like extra nesting in YAML/JSON :)
|
On today's call we voted to use "ExternalName" |
cab11f7 to
70a3a53
Compare
|
revoking LGTM until renamed to "ExternalName". |
|
ready for review - removing all LGTMs since it changed a lot since last time. |
|
Don't we need to update the *yaml files to these new values also? |
Signed-off-by: Doug Davis <dug@us.ibm.com>
|
@vaikas-google I did just notice a few places I missed but none were in yaml files - which ones are you thinking of? |
Signed-off-by: Doug Davis <dug@us.ibm.com>
70a3a53 to
fbcc270
Compare
|
vaikas@vaikas-linux3:~/projects/go/src/github.com/kubernetes-incubator/service-catalog$ find contrib/ -type f -name '*yaml' -exec grep --with-filename externalClusterService {} ; |
|
those are part of the PR |
|
Oh, I'm sorry I missed them somehow :( Sorry for the noise. |
| if old.Spec.ExternalClusterServicePlanName != new.Spec.ExternalClusterServicePlanName && new.Spec.ClusterServicePlanRef != nil { | ||
| errors = append(errors, field.Forbidden(field.NewPath("spec").Child("clusterServicePlanRef"), "clusterServicePlanRef must not be present when externalServicePlanName is being changed")) | ||
| if old.Spec.ClusterServicePlanExternalName != new.Spec.ClusterServicePlanExternalName && new.Spec.ClusterServicePlanRef != nil { | ||
| errors = append(errors, field.Forbidden(field.NewPath("spec").Child("clusterServicePlanRef"), "clusterServicePlanRef must not be present when servicePlanExternalName is being changed")) |
There was a problem hiding this comment.
Nit: servicePlanExternalName should be clusterServicePlanExternalName
I'm fine doing this in a follow-up
See: kubernetes-retired#1354 (review) Signed-off-by: Doug Davis <dug@us.ibm.com>
See: #1354 (review) Signed-off-by: Doug Davis <dug@us.ibm.com>
Per https://github.com/kubernetes-incubator/service-catalog/pull/1350/files#r143453045 I see no value to the end-user to have the word "External" there. They shouldn't know, or care, if the service is external or not, and in fact it may not be.