Comments (4)
I should mention I was using a docker image I built from a version of hsds that was cloned from the master branch two weeks ago. I am using docker version 19.03.1, and running the hsds nodes using docker swarm.
from hsds.
I agree that the behavior around HSDS binding to a particular IP needs improvement. However, I'm not sure that this part is the way to do it:
IP = ((([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")] or [[(s.connect(("8.8.8.8", 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) + ["no IP found"])[0], port)
My concerns here are that there are more private networks allowed than just the 127 network, some of the HSDS deployments won't be able to reach out to 8.8.8.8, some hostnames might not be exposed to the local DNS, and this code doesn't work on IPV6 networks.
However, I do agree that the IP discovery code needs improvement.
from hsds.
Just to throw this out... for Kubernetes deployments there is no head node at all. Instead SN and Dn nodes use the Kubernetes API to get IPs for the other nodes (see line 279 bin basenode.py).
I don't know if this approach would work for Docker. I couldn't find anything on using the Docker SDK from a container.
from hsds.
I think that the main point @znarthur makes here is that there are usually multiple IPs associated with a docker container - a local docker network only IP, and possibly a public facing IP. Picking the wrong one can be bad a few different ways. For one, the bound port might be for the other IP. Also, putting the service node on a docker private IP breaks access.
For HSDS on docker, it might just be too hard to predict what the sysadmin wants, and HSDS might have to use an explicit IP:port configuration approach.
from hsds.
Related Issues (20)
- Support HEAD requests for dataset selection
- Support fixed-length strings with UTF-8 character set HOT 7
- Support broadcasting
- Reset data to fill value when decreasing then increasing extent of dataset
- Save padding/offset of fields in compound types HOT 3
- point selections can fail after shape update
- Support FLETCHER32 filter
- Compound Type Subsetting HOT 4
- Support N-Bit and scale offset filters
- POST_Links does not return link information when following links recursively HOT 5
- Docker Image CI fails intermittently due to bad username/password
- Uninitialized variable length sequences are returned as scalars instead of empty arrays HOT 2
- Uploading 30 GB file takes too long to upload HOT 7
- not enough room in chunk cache - return 503 HOT 21
- Windows encoding error when writing sequence of variable length UTF-8 characters HOT 2
- Scripts use deprecated docker-compose v1
- Vlen sequence of variable-length UTF-8 strings cannot be written HOT 7
- Creation timestamps lack resolution on Windows HOT 2
- MAX_WAIT_TIME for rescan should be a config option HOT 1
- 409 Conflict during testCreateDomainNodeIds
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hsds.