0.35.1 - 2024-06-15
- Export actions in awslambda
0.35.0 - 2024-06-15
### Added
chaosaws.awslambda.actions.add_layer
andremove_layer
to manage a function's layerschaosaws.awslambda.actions.add_latency
andremove_latency
to introduce latency into a functionchaosaws.awslambda.actions.add_error
andremove_error
to introduce error into a function (pending aws-cli-tools/chaos-lambda-extension#14)
0.34.0 - 2024-06-10
- MSK probes
chaosaws.msk.probes.describe_msk_cluster
chaosaws.msk.probes.get_bootstrap_servers
- MSK actions
chaosaws.msk.actions.reboot_msk_broker
chaosaws.msk.actions.delete_cluster
### Changed
- Bump dependencies
0.33.0 - 2024-02-26
- The
set_tags_on_instances
andremove_tags_from_instances
actions on the EC2 package
0.32.1 - 2024-02-23
- Use
boto3.lambda.get_function_concurrency
to retrieve the reservedReservedConcurrentExecutions
from a lambda function
0.32.0 - 2024-02-23
- Use existing AWS FIS policies
AWSFaultInjectionSimulatorNetworkAccess
,AWSFaultInjectionSimulatorEC2Access
instead of creating new ones - Drop
logzero
- Fixed EMR test to use the appropriate
moto
- Switched tp pdm away from
setuptools
to manage the package. This will offer a more cohesive experience and will handle dependencies more strictly - Drop Python 3.7 support as it has been EOL since June 2023
- Updated GH actions to use PDM and the trusted publisher workflow from Pypi
- Code of Conduct
0.31.1 - 2024-01-22
Allow no tags in start_availability_zone_power_interruption_scenario
0.31.0 - 2024-01-21
-
restore_availability_zone_power_after_interruption
action to rollbackstart_availability_zone_power_interruption_scenario
{ "version": "1.0.0", "title": "Run the 'AZ Availability - Power Interruption' scenario", "description": "n/a", "method": [ { "name": "start-availability-zone-power-interruption-scenario", "type": "action", "provider": { "func": "start_availability_zone_power_interruption_scenario", "type": "python", "module": "chaosaws.fis.actions", "arguments": { "az": "eu-central-1a", "tags": "chaoseengineering=true", "duration": "PT30M" } } } ], "rollbacks": [ { "name": "stop-experiments-by-tags", "type": "action", "provider": { "func": "restore_availability_zone_power_after_interruption", "type": "python", "module": "chaosaws.fis.actions" } } ] }
0.30.0 - 2024-01-20
- Offset supported to months and years
0.29.1 - 2024-01-18
- Offset supported to months and years
0.29.0 - 2023-12-10
- Action
stop_instances_by_incremental_steps
in the ec2 package
0.28.0 - 2023-12-01
- Actions to start AWS FIS scenarios: Pod delete and AZ Availability: Power Interruption
0.27.0 - 2023-11-29
- Action to stop FIS experiments by tags
0.26.0 - 2023-11-20
- Probes to work with the incident center
0.25.0 - 2023-10-27
- Handle falsey values in
cloudwatch.probes.get_metric_statistics
0.24.0 - 2023-10-27
- Update EC2 update_min_instances description
- Handle
unit=""
asunit=None
incloudwatch.probes.get_metric_statistics
- Moved to
ruff
to lint the package
0.23.4 - 2023-04-27
- Let orjson serialize output properly
0.23.3 - 2023-04-27
- Dump response from
get_service_graph
into json as it contains Python objects
0.23.2 - 2023-04-26
- Better handling of default arguments in
get_service_graph
probe
0.23.1 - 2023-04-25
- The
get_service_graph
probe sets default non-required arguments to None
0.23.0 - 2023-04-25
- The
get_service_graph
in the XRay package
0.22.1 - 2023-04-17
- Export
get_most_recent_trace
from XRay probes
0.22.0 - 2023-04-16
- Added new probes to retrieve distributed traces from XRay
- Moved away from nosetest setup functions in emr tests
0.21.3 - 2023-02-26
- fixed format for python miniaml version as per pypa/packaging#673
- Added new EC2 probe to check whether minimum number of instances are running
- Added new probe to check whether Access Logging is enabled at ALB
- Added new action to enable/disable access logging at ALB
0.21.2 - 2022-07-12
- fixed
chaosaws.s3.controls.upload
region for url
0.21.1 - 2022-07-12
- fixed
chaosaws.s3.controls.upload
so the url is correctly added
0.21.0 - 2022-07-12
- Setting the S3 URL into the journal when stored
0.20.1 - 2022-07-11
- fixed
chaosaws.s3.controls.upload
so it uploads the journal as a file - fixed
chaosaws.s3.controls.upload
so the timestamp is generated - changed
chaosaws.s3.controls.upload
, use old style when dumping as YAML
0.20.0 - 2022-07-11
- a control to upload the experiment's journal to a S3 bucket when the
experiment finishes:
chaosaws.s3.controls.upload
- removed Python 3.6 support as Chaos Toolkit now requires 3.7
0.19.0 - 2021-12-02
- workflow to mark issues as
stale
and remove them after 7 days of beingstale
- added
chaosaws.elasticache.actions.test_failover
for testing automatic failover on specified shards - adding
put_parameter
to ssm actions - updated
aws_region
configuration in Readme
0.18.0 - 2021-10-11
- added new variable for cloudwatch probes
get_metric_statistics
andget_metric_data
calleddimensions
to allow for multiple dimension queries - Added
.github/workflows/check_pr.yaml
which checks if a PR has modified the CHANGELOG.md and if it changed/added tests - adding s3 probes
bucket_exists
,object_exists
, &versioning_status
- adding s3 actions
delete_object
,toggle_versioning
- explicitly support python 3.9
- adding list_event_source_mapping to awslambda probes
- adding delete_event_source_mapping to awslambda actions
- adding toggle_event_source_mapping_state to awslambda actions
- adding put_metric_data to cloudwatch actions
- added GitHub Actions Workflows for Build and Test, Build and Discover, and Releasing
- added
Makefile
to abstract away common commands:install
,install-dev
,lint
,format
,tests
- added
chaosaws.fis.actions.start_experiment
to start an AWS FIS experiment - added
chaosaws.fis.actions.stop_experiment
to stop an AWS FIS experiment - added
chaosaws.fis.probes.get_experiment
to retrieve an AWS FIS experiments details
- Removed TravisCI related files
- All
# -*- coding: utf-8 -*-
statements - Python 3.5 support
- update return value of asg action detach_random_instances to include instance IDs
- switch from
pycodestyle
toblack
,flake8
, andisort
for linting/formatting - applied
black
,flake8
, andisort
across the codebase - applied
pyupgrade --py36-plus
chaosaws.route53.probes
now correctly exposes the__all__
attribute
- adding route53 probes & actions
- adding ssm actions
- use setuptools auto discovery of all packages under
chaosaws
to not forget them anylonger - turn
chaosaws.emr
into a proper Python package
- adding probes to rds resource (instance_status, cluster_status, cluster_membership_count)
- add Cloudwatch get_metric_data probe
- adding new probes & actions for EMR
- building for Python 3.8
- fixing
describe_cache_cluster
argument calls ordering - adding actions to ecs resource ('tag_resource', 'untag_resource', 'set_service_placement_strategy', 'set_service_deployment_configuration', & 'update_container_instances_state')
- added EMR probes 'describe_cluster', 'describe_instance_fleet', 'describe_instance_group', 'list_cluster_fleet_instances', 'list_cluster_group_instances'
- added EMR actions 'modify_cluster', 'modify_instance_fleet', 'modify_instance_groups_instance_count', 'modify_instance_groups_shrink_policy'
- adding elasticache probes
describe_cache_cluster
,get_cache_node_count
, &get_cache_node_status
- add EC2 actions to allow/revoke security group ingress
- correcting IndexError in ecs are desired tasks running probe
- adding unit tests for are desired tasks running probe
- updating probes ALL list to include describe functions
- adding action to set the desired task count of an ecs service
- updating elbv2 deregister action to include port [#60][60]
- adding probe to asg to report healthy & unhealthy instance counts
- adding utility to breakup large iterables into smaller groups
- Clarify the way the client receives the credentials for authentifying with
AWS services. This change MAY BE BREAKING since we do not assume
"us-east-1"
as a default region anymore. You must be be explicit about the target region! #57
- adding action stop_random_instances to asg actions
- adding describe_auto_scaling_groups to asg probes
- correcting annotation for ec2 probe count_instances
- correcting annotation for timeout parameter in asg actions
- fix tests to match new pytest's API for accessing exceptions' values #52
- adding action stop_random_tasks to ecs actions
- adding describe_service, describe_tasks, & describe_cluster to ecs probes
- correcting paginator #49
- ensure readme is properly rendered in Pypi
- adding delete action to elbv2 module
- adding stop db instance action
- adding delete db instance/cluster actions
- adding delete db cluster endpoint action
- adding change_subnets action to asg
- adding has_subnets probe to asg
- adding start_instances and reboot_instances actions to ec2
- adding instance_state probe to ec2
- adding action detach_random_volume to asg
- adding action detach_random_volume to ec2
- adding action reboot_cache_cluster to elasticache
- adding action delete_cache_cluster to elasticache
- adding action delete_replication_group to elasticache
- adding terminate_instance(s) actions to ec2/actions.py
- asg actions to suspend/resume services
- asg probe to detect if process is suspended
- adding set_security_groups actions to elbv2
- adding set_subnets action to elbv2
- adding optional ability to dynamically assume an AWS role declared in the experiment, after assuming the initial aws profile
- adding action to terminate random asg instance(s)
- adding action to detach random instances from autoscaling groups
- support for Python 3.7
- support for cloudwatch probes and actions
- support for invoking lambdas
- support for getting and updating lambda timeout and memory size limits
- probe for cloudwatch metric statistics
- make sure instances with no explicit lifecycle can be stopped. They are
assumed to be in the
normal
lifecycle as per the last [line of the AWS documentation][]. #25
- add probes to wait for auto-scaling group to have healthy/unhealthy instance and a probe to check if there is any ongoing scaling activity
- add
elbv2
,asg
andawslambda
packages to the setup function so they get packaged and distributed
- add
count_instances
probe which can be used to count of all instances matching filters - support for elbv2 with basic probes and action
- support for asg with basic probes
- fix asg probe to support pagination
- support for lambda with basic probes and action
- Refactoring to support spot instances termination along with cancelling spot request
- Pass filters to
ec2
actions so that specific instances can be selected for an experiment
- Remove the irrelevant discover system call
- Make EKS activities discoverable
- EKS API support: create/delete clusters and describe/list clusters
- Various ECS activities from @cara-puce
- Read package version from source file without importing as dependencies may not be deployed then
- MANIFEST.in so that non-source code files are included in source distribution package
- Add basic IAM Policy support
- Add ECS actions to delete services, clusters and container instances
- Stoping EC2 instances may not take an AZ as a parameter to pick one or many random instances to stop within that AZ.
- Support specifying a specific profile config to assume a role #5
- Documentation on contributing to the project
- Adding a function to sign a request when boto3 lacks support for a specific AWS API
- Initial release