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

ConnectTimeoutError running on mybinder.org #48

Closed
scottyhq opened this issue Sep 21, 2021 · 3 comments
Closed

ConnectTimeoutError running on mybinder.org #48

scottyhq opened this issue Sep 21, 2021 · 3 comments

Comments

@scottyhq
Copy link
Contributor

Using the binder link in the repository readme to run sliderule on mybinder.org a user quickly encounters the following error running icesat2.init("icesat2sliderule.org")

MaxRetryError: HTTPConnectionPool(host='icesat2sliderule.org', port=8500): Max retries exceeded with url: /v1/catalog/service/srds?passing (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f6dbe28e9d0>, 'Connection to icesat2sliderule.org timed out. (connect timeout=10)')) 

This seems to be related to egress settings on mybinder.org (only certain ports are allowed), because the code runs fine on other deployments such as the pangeo binder on AWS. The mybinder.org configuration is here: https://github.com/jupyterhub/mybinder.org-deploy/blob/f6dfb4ab34af8cc4419fdf52c7e20c9a8eff0b39/mybinder/values.yaml#L48

The docs for those settings are here https://zero-to-jupyterhub.readthedocs.io/en/latest/administrator/security.html?highlight=networkpolicy#limiting-network-access-from-pods-egress

Is port 8500 an arbitrary choice? Is there a possible workaround to run sliderule from systems that have such egress rules set?
#6

@jpswinski
Copy link
Member

The infrastructure and code was updated to flow all traffic over port 80. mybinder.org now works with our example notebooks.

@jujara
Copy link

jujara commented Feb 15, 2023

Hello,

I am having also an apparent connection error
slide rules start good, I am using conda and I am able to create an environment and activate it, but
when I initialise the Icesat2 package:

icesat2.init("icesat2sliderule.org", verbose=True)

Then, I can't connect to server. This is the error:

ERROR:sliderule.sliderule:Connection error to endpoint https://sliderule.icesat2sliderule.org/source/version ...retrying request

ERROR:sliderule.sliderule:Connection error to endpoint https://sliderule.icesat2sliderule.org/source/version ...retrying request

Traceback (most recent call last):
File "", line 1, in
File "/Users/Julius/sliderule-python/sliderule/icesat2.py", line 402, in init
sliderule.init(url, verbose, loglevel, organization, desired_nodes, time_to_live, plugins=['icesat2'])
File "/Users/Julius/sliderule-python/sliderule/sliderule.py", line 547, in init
check_version(plugins=plugins) # verify compatibility between client and server versions
File "/Users/Julius/sliderule-python/sliderule/sliderule.py", line 1021, in check_version
info = get_version()
File "/Users/Julius/sliderule-python/sliderule/sliderule.py", line 998, in get_version
rsps = source("version", {})
File "/Users/Julius/sliderule-python/sliderule/sliderule.py", line 653, in source
raise FatalError("Unable to complete request due to errors")
sliderule.sliderule.FatalError: Unable to complete request due to errors

Best regards

Julius

@dshean
Copy link
Member

dshean commented Feb 15, 2023

Hi @jujara. Thanks for asking and providing error messages. You are pointing to the old endpoint. You want:
icesat2.init("slideruleearth.io", verbose=True)

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

4 participants