Comments (4)
Hello @minherz thanks for your reply. The requests are the ones that already exist in the locustfile.py.
When trying with postman or curl I just create a default post request to /setCurrency or /cart/checkout and it works fine without any headers or body.
I also tried it with python requests library and no problem occurred with it either.
In the meanwhile, I found that by replacing HttpUser with FastHttpUser the problem seems to go away so it might be something in the configuration of HttpUser that causes the issue.(a default request flag maybe)
from microservices-demo.
@antokarant thank you for reporting this to us. We will review your use case and see if we can assist. Can you please share the full request and response bodies for the aforementioned requests?
from microservices-demo.
@antokarant thanks for the very clear description of your issue!
@minherz thanks for the quick response and looking into this!
- I'm glad you were able to get it working with
FastHttpUser
instead of the plainHttpUser
. - According to this doc:
FastHttpUser
usesgeventhttpclient
HttpUser
usespython-requests
- So it's likely (as you suggested) that there is some difference in the HTTP requests (e.g., default set of headers) (used by
python-requests
andgeventhttpclient
). - If you do figure out that difference (and specifically what's causing the 405), let us know — especially if it's something that needs to be fixed on Online Boutique's (microservices-demo's) end.
Questions:
- Which version of Online Boutique are you using? The current
main
branch? Or a specific tag? - Are you able to see exactly what the failing /setCurrency and /cart/checkout requests look like (i.e., list of headers, the body, referrer)? If you're building the microservice Docker images from scratch, perhaps you could add some logs into the frontend to see exactly what the requests to /setCurrency and /cart/checkout look like? Or I wonder if there's a way to log all the details of the requests via Istio.
Thanks!
from microservices-demo.
@NimJay thanks for your reply.
-
I am using the main branch and I deployed the project using the Kustomize tool on a local cluster as I also need it to be istio-mesh enabled.
-
To answer your second question, I could not exactly see the request that caused the error. I tried different headers using python-requests but I could not find the solution.
Question:
I found out that kustomize uses container images already on google cloud so I can not find a way to change the requests inside the load-generator pod(the proposed fix using FastHttpUser was tested while using Locust from my local machine to access the cluster). I was wondering if there is a way to deploy using skaffold but also to have istio installed. Or if there is another workaround to fix my issue.
Thanks!
from microservices-demo.
Related Issues (20)
- grpc probes component missing HOT 2
- adservice, cartservice and loadgenerator restarting on arm cluster in the loop HOT 7
- project
- project
- DeployStack URL returns a 404 HOT 2
- nodejs based services OTEL instrumentation is ignoring OTEL_SERVICE_NAME HOT 2
- Add OTEL instrumentation to cart service HOT 1
- EKS: rpc error: code = Unavailable desc = connection error: desc = transport: Error while dialing: dial tcp: lookup currencyservice HOT 14
- helm chart frontend-external support config service type nodeport HOT 1
- Add GitHub bot to check Apache license headers, on pull-requests
- Set deletion_protection to false during terraform destroy
- Enabling Tracing in Local Kubernetes Cluster HOT 1
- Setup is not working on local environment - Shipping service image build issue HOT 1
- Feature Request - Addition of Authentication Module HOT 1
- skaffold run gives error while checking cache for one service on Linux Droplet. HOT 2
- Enable correct display of the service name in Cloud Trace HOT 1
- Generate application metrics as a part of Google Cloud Operations suite configuration
- One artifact seems to be missing (recommendationservice 0.3.6) in gcr.io HOT 4
- Running GKE in Cloud Shell Fails HOT 2
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 microservices-demo.