The chaos discover command¶
You use the chaos discover command to specify a Chaos Toolkit integration extension and, if supported by the integration, to then explore your target environment in order to build a discovery report that can be used by the chaos init command to help you bootstrap your own chaos engineering experiments.
You can see the options available to you by executing:
chaos discover --help
Usage: chaos discover [OPTIONS] PACKAGE
Discover capabilities and experiments.
Options:
--no-system-info Do not discover system information.
--no-install Assume package already in PYTHONPATH.
--discovery-path TEXT Path where to save the the discovery outcome.
[default: ./discovery.json]
--help Show this message and exit.
Discovering capabilities and experiments¶
To execute discover all you need to do is specify the Chaos Toolkit integration extension that you’d like to use, for example to use Kubernetes:
chaos discover chaostoolkit-kubernetes
[2021-07-30 11:43:38 INFO] Attempting to download and install package 'chaostoolkit-kubernetes'
[2021-07-30 11:43:45 INFO] Package downloaded and installed in current environment
[2021-07-30 11:43:45 INFO] Discovering capabilities from chaostoolkit-kubernetes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.actions
[2021-07-30 11:43:45 INFO] Searching for probes in chaosk8s.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.deployment.actions
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.deployment.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.node.actions
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.node.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.pod.actions
[2021-07-30 11:43:45 INFO] Searching for probes in chaosk8s.pod.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.replicaset.actions
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.service.actions
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.service.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.statefulset.actions
[2021-07-30 11:43:45 INFO] Searching for probes in chaosk8s.statefulset.probes
[2021-07-30 11:43:45 INFO] Searching for actions in chaosk8s.crd.actions
[2021-07-30 11:43:45 INFO] Searching for probes in chaosk8s.crd.probes
[2021-07-30 11:43:45 INFO] Discovery outcome saved in ./discovery.json
The chaos discover command will produce a report saved in ./discovery.json by default, although you can specify where this report is produced by supplying the --discovery-report-path option.
Discovery without System Information¶
To not probe the target system during the discovery process you can supply the --no-system-info option.
Discovery without Installation of an Integration Extension¶
If you already have the integration extension installed and available you can speed up the discovery process by specifying the --no-install option.