Skip to content

[Test] Add integ test to capture fragilities in cluster update workflow#7275

Open
gmarciani wants to merge 4 commits intoaws:developfrom
gmarciani:wip/mgiacomo/3150/integ-test-update-workflow-0305-1
Open

[Test] Add integ test to capture fragilities in cluster update workflow#7275
gmarciani wants to merge 4 commits intoaws:developfrom
gmarciani:wip/mgiacomo/3150/integ-test-update-workflow-0305-1

Conversation

@gmarciani
Copy link
Contributor

@gmarciani gmarciani commented Mar 10, 2026

Description of changes

Add end to end test to capture fragilities in cluster update workflow.
The test validates the following scenarios:

  1. a node that is bootstrapping during the update and completes the bootstrap right after the update, is able to deploy the update config.
  2. a node that completes the bootstrap during the readiness check and does not deploy the updated config on time, is reported by the check, but does not cause failure and it is able to deploy the update config after the check.
  3. a node that faces transient update failures, is able to recover thanks to the retries
  4. a node that is bootstrapped right before the update is able to complete the bootstrap and deploy the updated config.

Auxiliary changes to common functions:

  1. Add utility to wait for a set of acceptable stack statuses
  2. Allow to search for patterns in logs with a timestamp constraint
  3. Allow to retrieve dna.json from on login nodes
  4. Allow to retrieve cluster config deployed on login nodes
  5. Fixed the logic to submit a non blocking cluster update.

Tests

PENDING test_update_race_conditions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@gmarciani gmarciani changed the title Wip/mgiacomo/3150/integ test update workflow 0305 1 [Test] Add integ test to capture fragilities in cluster update workflow Mar 10, 2026
@gmarciani gmarciani added skip-changelog-update Disables the check that enforces changelog updates in PRs 3.x Test labels Mar 10, 2026
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch from d9050f3 to 82904c3 Compare March 10, 2026 15:11
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch from 82904c3 to 9a9da62 Compare March 10, 2026 16:29
@codecov
Copy link

codecov bot commented Mar 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.08%. Comparing base (d4d705d) to head (945feaa).
⚠️ Report is 50 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #7275      +/-   ##
===========================================
+ Coverage    90.06%   90.08%   +0.01%     
===========================================
  Files          182      182              
  Lines        16646    16730      +84     
===========================================
+ Hits         14992    15071      +79     
- Misses        1654     1659       +5     
Flag Coverage Δ
unittests 90.08% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 4 times, most recently from d6f88e3 to 7f56e41 Compare March 10, 2026 18:17
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 5 times, most recently from b293f22 to 82b0e94 Compare March 10, 2026 20:48
Comment on lines +336 to +348
# def pytest_collection_finish(session):
# _log_collected_tests(session)
# # Create the metadata table after the regions are collected
# try:
# region = session.config.getoption("regions") or get_all_regions(session.config.getoption("tests_config"))
# region = [unmarshal_az_override(az) for az in region]
# # Use the first element of the list of regions, since there must be at least one
# reporting_region = get_reporting_region(region[0])
# logging.info(f"Metadata reporting region {reporting_region}")
# # Setup the metadata table in case it doesn't exist
# MetadataTableManager(reporting_region, METADATA_TABLE).create_metadata_table()
# except Exception as exc:
# logging.info(f"There was a '{type(exc)}' error with '{exc}' when creating the table!")

Check notice

Code scanning / CodeQL

Commented-out code Note test

This comment appears to contain commented-out code.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit is just for testing and will be removed

@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 5 times, most recently from d3540d1 to 687a4c2 Compare March 11, 2026 17:06
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch from 687a4c2 to 945feaa Compare March 11, 2026 17:31
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 2 times, most recently from 8d3ca25 to 52c7820 Compare March 11, 2026 18:05
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 2 times, most recently from 967f42e to 7c82713 Compare March 11, 2026 19:02
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch from 7c82713 to 8640080 Compare March 11, 2026 20:07
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 2 times, most recently from 537bd87 to 3acdb21 Compare March 11, 2026 22:00
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 2 times, most recently from 71688eb to be457d0 Compare March 11, 2026 23:40
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch 5 times, most recently from b7ed825 to e1a5d8c Compare March 12, 2026 01:28
@gmarciani gmarciani marked this pull request as ready for review March 12, 2026 01:51
@gmarciani gmarciani requested review from a team as code owners March 12, 2026 01:51
@gmarciani gmarciani force-pushed the wip/mgiacomo/3150/integ-test-update-workflow-0305-1 branch from e1a5d8c to 757ad82 Compare March 12, 2026 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.x skip-changelog-update Disables the check that enforces changelog updates in PRs Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant