Lambda toggle event mapping state toggles (or sets) the event source mapping state to
disable for a Lambda function during a specific duration. Toggling between different states of event source mapping from a Lambda function may lead to failures when updating the database on an event trigger. This can break the service and impact its delivery.
Lambda toggle event mapping:
- Checks the performance of the running application when the event source mapping is not enabled. This may cause missing entries in a database.
- Determines if the application has proper error handling or auto recovery actions configured.
- Kubernetes version 1.17 or later is required to execute this fault.
- AWS Lambda event source mapping must be healthy and attached to the Lambda function.
- Kubernetes secret must have the AWS access configuration(key) in the
CHAOS_NAMESPACE. A secret file looks like this:
# Add the cloud AWS credentials respectively
aws_access_key_id = XXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXX
- Harness recommends using the same secret name, that is,
cloud-secret. Otherwise, you must update the
AWS_SHARED_CREDENTIALS_FILEenvironment variable in the fault template and you won't be able to use the default health check probes.
- Go to AWS named profile for chaos to use a different profile for AWS faults.
- Go to superset permission/policy to execute all AWS faults.
- Go to common tunables and AWS-specific tunables to tune the common tunables for all faults and AWS-specific tunables.
Below is an example AWS policy to execute the fault.
|FUNCTION_NAME||Function name of the target lambda function. It supports single function name.|| For example, |
|EVENT_UUIDS||Provide the UUID for the target event source mapping.|| You can provide multiple values as comma-separated values. For example, |
|REGION||The region name of the target lambda function|| For example, |
|TOTAL_CHAOS_DURATION||Duration that you specify, through which chaos is injected into the target resource (in seconds).||Default: 30 s.|
|SEQUENCE||It defines sequence of chaos execution for multiple instance||Default value: parallel. Supported: serial, parallel|
|RAMP_TIME||Period to wait before and after injection of chaos in sec||For example, 30 s.|
Multiple event source mapping
Toggle between multiple event source mapping for a specific duration. Tune it by using
EVENT_UUIDS environment variable that takes the UUID of the events as a comma-separated value.
The following YAML snippet illustrates the use of this environment variable:
# contains the removal of multiple event source mapping
- name: lambda-toggle-event-mapping-state
# provide UUIDS of event source mapping
- name: EVENT_UUIDS
# provide the function name for the chaos
- name: FUNCTION_NAME