Skip to content

HDDS-14821. Version specific data validation in rolling-upgrade suite#10033

Open
dombizita wants to merge 7 commits intoapache:HDDS-14496-zdufrom
dombizita:HDDS-14821
Open

HDDS-14821. Version specific data validation in rolling-upgrade suite#10033
dombizita wants to merge 7 commits intoapache:HDDS-14496-zdufrom
dombizita:HDDS-14821

Conversation

@dombizita
Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Added more data validation to the rolling-upgrade suite:

  • generate data with the old version
  • check generated data with pre-finalized, downgraded and finalized state
  • added downgrade scenario

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-14821

How was this patch tested?

CI on my fork running the rolling restart test suite: https://github.com/dombizita/ozone/actions/runs/23886616311

@github-actions github-actions Bot added the zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496 label Apr 2, 2026
@github-actions
Copy link
Copy Markdown

This PR has been marked as stale due to 21 days of inactivity. Please comment or remove the stale label to keep it open. Otherwise, it will be automatically closed in 7 days.

@github-actions github-actions Bot added the stale label Apr 24, 2026
@dombizita dombizita requested a review from errose28 April 24, 2026 13:28
@dombizita dombizita added zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496 and removed stale zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496 labels Apr 24, 2026
Copy link
Copy Markdown
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

Thanks for add this @dombizita.

validate old1
}

with_this_version_pre_finalized() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The non-rolling upgrade has a test for key overwrite as well. I think we should add that here. We can do it as a separate generate/validate step which will be clearer than what the non-rolling suite does now. For example:

 # In the old version:
generate overwrite

# In all following callbacks:
validate overwrite
generate overwrite


before_service_restart() {
generate "generate-${SERVICE}" "$CLIENT"
generate "generate-${SERVICE}-${STAGE_PREFIX}" "$CLIENT"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

To reduce the amount of global env variables, STAGE_PREFIX and SERVICE and be combined into a single prefix string that is assembled by the driver and then passed into this function as a parameter.

We can also pass STAGE_PREFIX as a parameter from rolling_restart_all_services into rolling_restart_service where the final prefix is assembled.

@@ -20,9 +20,43 @@ source "$TEST_DIR"/testlib.sh
### CALLBACKS ###

before_service_restart() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think these names are somewhat confusing because before_service_restart is actually run when the service is stopped but before it is started. Maybe we change these names to something like with_service_stopped and with_service_restarted.

}

with_old_version() {
execute_robot_test "$SCM" -N "${OUTPUT_NAME}-check-finalization" --include finalized upgrade/check-finalization.robot
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This should run on CLIENT not SCM right? If so, the requirement that SCM is set can be removed from the top of driver.sh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants