8000 CFn: WIP POC v2 executor by simonrw · Pull Request #12396 · localstack/localstack · GitHub
[go: up one dir, main page]

Skip to content

CFn: WIP POC v2 executor #12396

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Apr 2, 2025
Merged

CFn: WIP POC v2 executor #12396

merged 23 commits into from
Apr 2, 2025

Conversation

simonrw
Copy link
Contributor
@simonrw simonrw commented Mar 17, 2025

Motivation

We are rebuilding the core engine of CFn. This change introduces executing changes to the engine based on the update graph concept.

The engine is based on the recent update graph implementation currently being developed. It aims to be a more accurate representation of the state of the update process, and will support both describing change sets and executing change sets.

Changes

This PR adds an initial implementation of dispatching changes to the resource provider executor. We create a new visitor for the update graph and when visiting a resource we invoke the resource provider executor deployment loop.

@simonrw simonrw added aws:cloudformation AWS CloudFormation semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases labels Mar 17, 2025
@simonrw simonrw self-assigned this Mar 17, 2025
Base automatically changed from MEP-CFN-POC-describe_change_set_intrinsic_functions_resolution to master March 18, 2025 10:34
@simonrw simonrw force-pushed the cfn/update-executor-integration branch from 47a5831 to ad8eaba Compare March 18, 2025 13:58
Copy link
github-actions bot commented Mar 18, 2025

LocalStack Community integration with Pro

  2 files  ±    0    2 suites  ±0   20m 26s ⏱️ - 1h 31m 13s
449 tests  - 3 848  328 ✅  - 3 641  121 💤  - 207  0 ❌ ±0 
451 runs   - 3 848  328 ✅  - 3 641  123 💤  - 207  0 ❌ ±0 

Results for commit ae5add4. ± Comparison against base commit 9383d50.

This pull request removes 3852 and adds 4 tests. Note that renamed tests count towards both.
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_lambda_dynamodb
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_opensearch_crud
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_search_books
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_setup
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_destination_sns
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_infra
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_prefill_dynamodb_table
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input0-SUCCEEDED]
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input1-SUCCEEDED]
…
tests.aws.services.cloudformation.api.test_changesets.TestUpdates ‑ test_deleting_resource
tests.aws.services.cloudformation.api.test_changesets.TestUpdates ‑ test_simple_update_single_resource
tests.aws.services.cloudformation.api.test_changesets.TestUpdates ‑ test_simple_update_two_resources
tests.aws.services.cloudformation.v2.test_change_sets ‑ test_single_resource_static_update
This pull request removes 208 skipped tests and adds 1 skipped test. Note that renamed tests count towards both.
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input4-FAILED]
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_deployed_infra_state
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_populate_data
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_user_clicks_are_stored
tests.aws.services.apigateway.test_apigateway_api.TestApiGatewayApiRestApi ‑ test_get_api_case_insensitive
tests.aws.services.apigateway.test_apigateway_api.TestApigatewayIntegration ‑ test_put_integration_request_parameter_bool_type
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_authorizer_crud
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_http_integration_with_path_request_parameter
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_lambda_proxy_integration[/lambda/foo1]
…
tests.aws.services.cloudformation.api.test_changesets.TestUpdates ‑ test_deleting_resource

♻️ This comment has been updated with latest results.

@simonrw simonrw added this to the Playground milestone Mar 21, 2025
@simonrw simonrw force-pushed the cfn/update-executor-integration branch 2 times, most recently from 0dbcc06 to f941b33 Compare March 25, 2025 15:19
@simonrw simonrw force-pushed the cfn/update-executor-integration branch from f941b33 to 54d6f69 Compare March 27, 2025 15:05
@simonrw simonrw changed the title CFn: POC v2 executor CFn: WIP POC v2 executor Apr 2, 2025
@simonrw simonrw requested a review from MEPalma April 2, 2025 13:17
@simonrw simonrw marked this pull request as ready for review April 2, 2025 13:17
@simonrw simonrw merged commit 245ebe0 into master Apr 2, 2025
33 checks passed
@simonrw simonrw deleted the cfn/update-executor-integration branch April 2, 2025 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aws:cloudformation AWS CloudFormation semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0