chaostoolkit-incubator / chaostoolkit-istio Goto Github PK
View Code? Open in Web Editor NEWChaos Toolkit driver extension for Istio
Home Page: https://chaostoolkit.org/
License: Apache License 2.0
Chaos Toolkit driver extension for Istio
Home Page: https://chaostoolkit.org/
License: Apache License 2.0
Hi Team,
I am trying to run add_delay_fault() as defined under actions.py.
https://github.com/chaostoolkit-incubator/chaostoolkit-istio/blob/master/chaosistio/fault/actions.py#L184
It fails at this call : get_virtual_service under probes.py.
There is not much information available in logs.
Also I tried to go through the documentation link:
https://istio.io/docs/reference/config/istio.networking.v1alpha3/#HTTPFaultInjection-Delay
But none of the documentation links are available. It says Page NOT found.
Please help on the same.
Thanks!
Hi, I experienced a bug where version
cannot be changed from the default "networking.istio.io/v1alpha3" because version is not passed in the calls to set_fault and unset_fault from add_delay_fault, add_abort_fault, remove_delay_fault & remove_abort_fault.
The add_abort_fault
function creates the following entry in a VirtualService.
spec.http.fault.abort.percent
However, the correct entry should be:
spec.http.fault.abort.percentage.value
The usage example in the project's README is empty. Could you please add an example?
The configuration for add_delay_fault
action is explained incorrectly in README.
It uses:
"percentage": {
"value": 100.0
}
However, the correct syntax should be:
"percentage": 100
So the set_fault function sometimes fails.
Hi Team,
I used chaostoolkit-istio and implemented add_delay_fault to inject delay in one of my services ( via its virtual-service). I get response code as 200 after calling add_delay_fault. Which confirms that fault is injected or delay is added. But when I call my service, I don't see any impact of delay.Service responds immediately.
Let me explain my use case.
Scenario : My micro service is deployed on IBM Cloud Kubernetes cluster ( Istio Enabled). This service has one Virtual service associated. I am running chaos-toolkit and injecting a delay (300 sec) by providing my virtual-service name in add_delay_fault function. I get a response code of 200.
My service is associated with Istio Ingress gateway. I hit my service via browser and get immediate response, no impact of delay noticed.
Please help.Thanks!
Hi, the istio plugin doesn't provide a convenient way to set the proxy via an environement variable like HTTP_PROXY in the same way the kubernetes plugin allows.
This is the local config setup for the istio-plugin - https://github.com/chaostoolkit-incubator/chaostoolkit-istio/blob/master/chaosistio/__init__.py#L65-L69
The kubernetes plugin allows the proxy to be set from the HTTP_PROXY environment variable - https://github.com/chaostoolkit/chaostoolkit-kubernetes/blob/master/chaosk8s/__init__.py#L70-L74
Could the istio plugin use the same approach as the kubernetes plugin?
Currently, you guys assume that the destination will have a host and a subset. However, this will not always be the case. For instance, there can be a destination like this:
route:
- destination:
host: web.robot-shop.svc.cluster.local
port:
number: 8080
In that case, the function add_delay_fault or remove_delay_fault are not going to work. Because you guys assume subset field will always be there.
I am referring to chaostoolkit-istio pip package. I am using Python3.5 and have downloaded the chaostoolkit-istio 0.1.4
Hi Team,
Hi Team, facing a challenge with chaostoolkit-istio. I added this dependency in "requirement.txt" ( Python dependency file) and tried creating docker image, it fails.
it shows below exception. However when I read the exception it doesn't show anything related to istio, rather logzero. When I remove chaostoolkit-istio dependency then image gets created successfully. Please help.. Thanks!
#11 22.90 raise InconsistentCandidate(candidate, criterion)
#11 22.90 pip._vendor.resolvelib.resolvers.InconsistentCandidate: Provided candidate LinkCandidate('https://files.pythonhosted.org/packages/b3/68/aa714515d65090fcbcc9a1f3debd5a644b14aad11e59238f42f00bd4b298/logzero-1.7.0-py2.py3-none-any.whl#sha256=23eb1f717a2736f9ab91ca0d43160fd2c996ad49ae6bad34652d47aba908769d (from https://pypi.org/simple/logzero/)') does not satisfy SpecifierRequirement('logzero~=1.5'), SpecifierRequirement('logzero'), SpecifierRequirement('logzero~=1.5.0')
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.