HDDS-15196. Split HDDS upgrade actions into specific SCM and Datanode actions.#10206
Open
errose28 wants to merge 6 commits intoapache:HDDS-14496-zdufrom
Open
HDDS-15196. Split HDDS upgrade actions into specific SCM and Datanode actions.#10206errose28 wants to merge 6 commits intoapache:HDDS-14496-zdufrom
errose28 wants to merge 6 commits intoapache:HDDS-14496-zdufrom
Conversation
Still some action/version items in common modules
Still need alternative handling for port changes in DN details
* HDDS-14496-zdu: HDDS-15197. Remove unnecessary BelongsToLayoutVersion annotations. (apache#10205)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
The new versioning framework decouples the versions, version manager, and upgrade actions for each component. Because of this, we should give SCM and Datanodes their own specific upgrade action types instead of using typing on the generic
HDDSUpgradeActionwhich we currently have.This change also adds Datanode and SCM specific upgrade action provider classes, similar to what was already added to OM in HDDS-14826. These have been connected to
HDDSLayoutVersionManagerusing a somewhat hacky change for now.HDDSLayoutVersionManagerwill be deleted when HDDS-15129 and HDDS-15195 are complete, so I did not put much effort into cleaner handling.HDDSLayoutFeature.add{Scm,Datanode}Actionwill also be deleted in the new framework because the version manager will contain the binding of upgrade actions to versions (see existingOMVersionManager). Therefore the existing generic action workaround inHDDSLayoutFeatureis only temporary.LayoutFeature and UpgradeAction related classes have been moved out of hdds-common (a client side dependency) and into hdds-server-framework (server side only dependency). This means that
LayoutFeatures should not be referenced in client facing classes likeDatanodeDetails. This PR just removes theLayoutFeaturereferenced fromDatanodeDetails, but #10205 makes a change to handle this properly.What is the link to the Apache JIRA
HDDS-15196
How was this patch tested?
All existing tests should pass to validate the refactoring. The new SCM and Datanode action providers will be tested in
HDDS-15129 and HDDS-15195 respectively when they are used in the new SCM and Datanode version managers. This matches the current testing pattern with OM, where action loading is tested in
TestOMVersionManager.