Allow revive if some data paths differ #336
Merged
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.
This PR will allow a revive if the data paths are different among the vertica hosts. Vertica databases managed in k8s assume the data paths are the same across all pods. This relaxes that to allow a revive if the data path is either equal to
spec.local.dataPath
orspec.local.catalogPath
. Both paths are still backed by the PV, so will persist between restarts.In order to allow the data paths to differ, the db existence check in pod facts now checks the catalog path.
Note: the data path could mismatch due to a bug in revive. When revive reconstructs the admintools.conf, it will set the data path to be the same as the catalog path. This happens even if they originally were different. In that case, when the database does a scaling operation, the new vertica hosts will have catalog and data to be the same. But existing vertica hosts will have catalog and data that will differ. I included an e2e test to mimic this behaviour.
Closes #335