Skip to content

Latest commit

 

History

History
649 lines (405 loc) · 19 KB

CHANGELOG.md

File metadata and controls

649 lines (405 loc) · 19 KB

Changelog

0.35.1 - 2024-06-15

Fixed

  • Export actions in awslambda

0.35.0 - 2024-06-15

### Added

  • chaosaws.awslambda.actions.add_layer and remove_layer to manage a function's layers
  • chaosaws.awslambda.actions.add_latency and remove_latency to introduce latency into a function
  • chaosaws.awslambda.actions.add_error and remove_error to introduce error into a function (pending aws-cli-tools/chaos-lambda-extension#14)

0.34.0 - 2024-06-10

Added

  • 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

Added

  • The set_tags_on_instances and remove_tags_from_instances actions on the EC2 package

0.32.1 - 2024-02-23

Fixed

  • Use boto3.lambda.get_function_concurrency to retrieve the reserved ReservedConcurrentExecutions from a lambda function

0.32.0 - 2024-02-23

Changed

  • 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

Added

  • Code of Conduct

0.31.1 - 2024-01-22

Fixed

Allow no tags in start_availability_zone_power_interruption_scenario

0.31.0 - 2024-01-21

Added

  • restore_availability_zone_power_after_interruption action to rollback start_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

Added

  • Offset supported to months and years

0.29.1 - 2024-01-18

Added

  • Offset supported to months and years

0.29.0 - 2023-12-10

Added

  • Action stop_instances_by_incremental_steps in the ec2 package

0.28.0 - 2023-12-01

Added

  • Actions to start AWS FIS scenarios: Pod delete and AZ Availability: Power Interruption

0.27.0 - 2023-11-29

Added

  • Action to stop FIS experiments by tags

0.26.0 - 2023-11-20

Added

  • Probes to work with the incident center

0.25.0 - 2023-10-27

Changed

  • Handle falsey values in cloudwatch.probes.get_metric_statistics

0.24.0 - 2023-10-27

Changed

  • Update EC2 update_min_instances description
  • Handle unit="" as unit=None in cloudwatch.probes.get_metric_statistics
  • Moved to ruff to lint the package

0.23.4 - 2023-04-27

Changed

  • Let orjson serialize output properly

0.23.3 - 2023-04-27

Changed

  • Dump response from get_service_graph into json as it contains Python objects

0.23.2 - 2023-04-26

Changed

  • Better handling of default arguments in get_service_graph probe

0.23.1 - 2023-04-25

Changed

  • The get_service_graph probe sets default non-required arguments to None

0.23.0 - 2023-04-25

Added

  • The get_service_graph in the XRay package

0.22.1 - 2023-04-17

Changed

  • Export get_most_recent_trace from XRay probes

0.22.0 - 2023-04-16

Added

  • Added new probes to retrieve distributed traces from XRay

Fixed

  • Moved away from nosetest setup functions in emr tests

0.21.3 - 2023-02-26

Fixed

Changed

  • Added new EC2 probe to check whether minimum number of instances are running

Added

  • 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

  • fixed chaosaws.s3.controls.upload region for url

0.21.1 - 2022-07-12

Fixed

  • fixed chaosaws.s3.controls.upload so the url is correctly added

0.21.0 - 2022-07-12

Changed

  • Setting the S3 URL into the journal when stored

0.20.1 - 2022-07-11

Fixed

  • 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

Added

  • 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

Added

  • workflow to mark issues as stale and remove them after 7 days of being stale
  • 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

  • added new variable for cloudwatch probes get_metric_statistics and get_metric_data called dimensions 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

Added

  • 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

  • Removed TravisCI related files
  • All # -*- coding: utf-8 -*- statements
  • Python 3.5 support

Changed

  • update return value of asg action detach_random_instances to include instance IDs
  • switch from pycodestyle to black, flake8, and isort for linting/formatting
  • applied black, flake8, and isort across the codebase
  • applied pyupgrade --py36-plus

Fixed

  • chaosaws.route53.probes now correctly exposes the __all__ attribute

Added

  • adding route53 probes & actions
  • adding ssm actions

Changed

Changed

  • use setuptools auto discovery of all packages under chaosaws to not forget them anylonger
  • turn chaosaws.emr into a proper Python package

Added

  • 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

Changed

  • 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'

Added

  • adding elasticache probes describe_cache_cluster, get_cache_node_count, & get_cache_node_status
  • add EC2 actions to allow/revoke security group ingress

Added

  • 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

Changed

  • 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

Added

  • 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

Added

  • correcting paginator #49

Added

  • ensure readme is properly rendered in Pypi

Added

  • 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

Added

  • 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

Added

  • 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

Changed

  • 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

Changed

  • add elbv2, asg and awslambda packages to the setup function so they get packaged and distributed

Added

Added

  • 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

Changed

  • Refactoring to support spot instances termination along with cancelling spot request

Added

  • Pass filters to ec2 actions so that specific instances can be selected for an experiment

Changed

  • Remove the irrelevant discover system call

Changed

  • Make EKS activities discoverable

Added

  • EKS API support: create/delete clusters and describe/list clusters
  • Various ECS activities from @cara-puce

Changed

  • Read package version from source file without importing as dependencies may not be deployed then

Added

  • MANIFEST.in so that non-source code files are included in source distribution package

Added

  • Add basic IAM Policy support
  • Add ECS actions to delete services, clusters and container instances

Changed

  • Stoping EC2 instances may not take an AZ as a parameter to pick one or many random instances to stop within that AZ.

Added

  • Support specifying a specific profile config to assume a role #5

Added

  • Documentation on contributing to the project
  • Adding a function to sign a request when boto3 lacks support for a specific AWS API

Added

  • Initial release