You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Presently the communication between the xk6-disruptor extension and the xk6-disruptor-agent running in the target Pods is implemented by executing a CLI command in the agent's container. This approach has several important advantages:
Facilitates testing the agent without any client-side component as it can be invoked from the command line.
Does not require the agent to be accessible outside the Kubernetes cluster (exec command uses Kubernetes API server as a gateway)
However, it also has some important drawbacks:
Mapping the interface defined in the xk6-disruptor extension into the corresponding commands in the agent. This process is error prone and may create subtle errors as different expectations regarding default values for parameters.
Error handling is quite limited when compared with the rich error handling capabilities in grpc
It makes difficult to test the communication, the Kubernetes client does not provide a way for mocking the execution of commands
Some disruptions may drop the network connection to the target (e.g simulate node disconnection) causing the exec command to fail.
Even when the existing command line model will likely remain the default interface, it would be convenient to also implement this communication using grpc and use it when running tests inside the Kubernetes cluster, for example using the k6-operator or K6 Cloud.
The text was updated successfully, but these errors were encountered:
Presently the communication between the
xk6-disruptor
extension and thexk6-disruptor-agent
running in the target Pods is implemented by executing a CLI command in the agent's container. This approach has several important advantages:However, it also has some important drawbacks:
Even when the existing command line model will likely remain the default interface, it would be convenient to also implement this communication using grpc and use it when running tests inside the Kubernetes cluster, for example using the k6-operator or K6 Cloud.
The text was updated successfully, but these errors were encountered: