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

Help message suggests cluster URL may use an IP, but the code will only accept URL #201

Open
wvxvw opened this issue Feb 22, 2023 · 4 comments

Comments

@wvxvw
Copy link

wvxvw commented Feb 22, 2023

Hello. When trying to authenticate to Run:ai the input form has this in the help message next to the field labeled "Cluster URL":

The Run:ai user interface requires a URL or IP address of the Kubernetes cluster (e.g. https://143.23.55.2 or https://cluster.myorg.com)

However, when I use the IP of ingress controller (which brings us to the next problem), I receive the following error:

runai system is not yet available due to: enabled operands handling error: Ingress.extensions "researcher-service-ingress" is invalid: spec.rules[0].host: Invalid value: "10.150.98.170": must be a DNS name, not an IP address

There's no such thing as "Cluster URL"

Not only this help message is contradictory to the implementation, there's no way to tell what did you mean when you wrote "Cluster URL". Please name it in a way that describes what you actually wanted this to be and change the wording of the help tooltip to reflect that. There's no need to include examples in the help message: users who can make it as far as that message had already opened a Web browser before and have seen examples of URLs.

@wvxvw
Copy link
Author

wvxvw commented Feb 22, 2023

@yarongol
Copy link
Collaborator

Thank you for providing the feedback. Have opened an internal ticket to have this fixed.

@wvxvw
Copy link
Author

wvxvw commented Feb 23, 2023

Hi, Yaron. In addition to the above, there's some (regex?) validation on the URL field which is overly restrictive (it doesn't validate that the input is a URL, I'm not actually sure what the rules are, but, for example, it treats https://ose-b92-u2004-02-22-1.openstacklocal:30344 as invalid (note that https:// comes from the form itself).

It's probably better to not do any validation here at all, or do:

try {
  new URL(...);
  // URL is valid
catch  (error) {
  // URL is not valid
}

instead of what's been done now.

But, more importantly, there needs to be better explanation of what is supposed to go into that field. Right now the documentation and the inline help don't give any explanation at all.

I'm working with another developer who claims that this is probably the URL with the domain name that should resolve to the IP of the ingress controller connected to the rest of Run:ai services, but, so far, I wasn't able to make it work. Especially, because I don't know where it should resolve to that IP (and is this an IP on the external or the internal network): on the computer running the Web interface, or on the computer running the ingress controller? And if the later, should it resolve to that IP on the external network of that computer, or on the internal network managed by Kubernetes?

I'd appreciate any advice on this. Thanks!

@omeryahud
Copy link

omeryahud commented Mar 1, 2023

Hi @wvxvw!
Thank you for reporting this issue.
I have confirmed that the URL issue is a bug in our UI and I have opened an internal ticket to resolve it.

And to your second point, I will also ask for better documentation regarding the Cluster URL field.
The Cluster URL should resolve to the IP address of the ingress controller from the endpoint that expects to use our web application for managing their clusters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants