Comments (8)
@kooba yes it works, thanks!
from nameko-examples.
@rizplate are you running examples with default docker-compose up
command, or having custom way of starting them up? If it's a custom way, is your products
service container part of the same docker network as the redis
container?
Can you test connection from inside of you products container by running:
docker exec -it nameko-example-products bash
and once in there: (printf "PING\r\n";) | nc redis 6379
do you get response +PONG
?
from nameko-examples.
@kooba I am using mac, no changes in any files, just vanilla clone and compose up, following is the exact sequence of commands I ran. it seems redis recent version does not return OK for some auth string
git clone https://github.com/nameko/nameko-examples
cd nameko-examples/
docker-compose up
curl -XPOST -d '{"id": "the_odyssey", "title": "The Odyssey", "passenger_capacity": 101, "maximum_speed": 5, "in_stock": 10}' 'http://localhost:8003/products'
{"message": "ResponseError Client sent AUTH, but no password is set", "error": "UNEXPECTED_ERROR"}
nameko-example-gateway | File "/appenv/lib/python3.4/site-packages/nameko/rpc.py", line 332, in result
nameko-example-gateway | raise deserialize(error)
nameko-example-gateway | nameko.exceptions.RemoteError: ResponseError Client sent AUTH, but no password is set
nameko-example-gateway | 172.19.0.1 - - [18/Mar/2018 17:08:06] "POST /products HTTP/1.1" 500 225 0.082119
from nameko-examples.
When running docker compose can you see what version nameko-example-redis
is reporting? There should be a string that will look like this Redis version=x.x.x
(I'm running latest 4.0.8, maybe we should pin container tag to avoid any issues).
Also can you verify auth is not set (as default in examples) by running:
$ docker exec -it nameko-example-redis bash
$ redis-cli
(no auth provided)
$ PING
and you should get back PONG
from nameko-examples.
My redis version is also 4.0.8.
PING returns PONG using redis-cli inside the nameko-example-redis, also returns PONG from inside nameko-example-gateway, however the error remains if I call curl
from nameko-examples.
Redis is called from nameko-example-products
and not gateway
. Gateway will re-throw the errors returned from Products service. Can you verify that connection?
from nameko-examples.
Thank you @rizplate for taking your time and troubleshooting the issue. I was finally able to reproduce it in my environment. I think images pushed to DockerHub were not the latest ones, after removing and rebuilding them locally everything started to work.
The only change I made locally before the build was to update Nameko to latest version (also opened PR for this #12).
Latest docker images are now pushed to DockerHub and you should be able to use them.
To start from scratch please:
- Stop and remove example containers and their volumes
$ docker-compose down --volumes --remove-orphans
- Remove images
$ docker rmi nameko/nameko-example-orders:latest nameko/nameko-example-products:latest nameko/nameko-example-gateway:latest
- Run
$ docker-compose up
Please let me know if that fixes the issue. You can always rebuild everything locally by running TAG=latest make build
from nameko-examples.
@rizplate With #10 we are now setting password on redis instances by default to allow the same redis config files to work with Docker Compose and Kubernetes setting as official Kubernetes Redis Chart set's the password by default.
Please let me know if all works for you now so I can close this issue.
from nameko-examples.
Related Issues (6)
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 nameko-examples.