Conversation
Contributor
|
❗ By default, the pull request is configured to backport to all release branches.
|
Member
Author
|
/test |
Contributor
|
@mnencia, here's the link to the E2E on CNPG workflow run: https://github.com/cloudnative-pg/cloudnative-pg/actions/runs/22016169538 |
6fa3682 to
884095c
Compare
armru
approved these changes
Feb 16, 2026
1ce05ae to
405548e
Compare
Collaborator
|
/test |
Contributor
|
@NiccoloFei, here's the link to the E2E on CNPG workflow run: https://github.com/cloudnative-pg/cloudnative-pg/actions/runs/22190712682 |
NiccoloFei
approved these changes
Feb 19, 2026
Add an "ext-" prefix to extension volume names so they cannot collide with system volumes (pgdata, shm, pg-wal, scratch-data, projected) or tablespace volumes. Closes #9972 Signed-off-by: Marco Nenciarini <[email protected]>
Add a "tbs-" prefix to tablespace volume names produced by VolumeMountNameForTablespace() to prevent collisions with system volumes (pgdata, shm, pg-wal, scratch-data, projected) and extension volumes. Add webhook validation to detect tablespace names that produce duplicate volume names after K8s name sanitization, matching the existing extension collision detection pattern. Signed-off-by: Marco Nenciarini <[email protected]>
Add normalization functions that translate old unprefixed volume and volume mount names to the new prefixed naming scheme (ext- for extensions, tbs- for tablespaces) during pod spec comparison. This prevents unnecessary pod restarts when upgrading from an operator version that used unprefixed names. Signed-off-by: Marco Nenciarini <[email protected]>
Export SanitizeExtensionNameForVolume and use it in the extension webhook validation instead of reimplementing the same logic inline. Signed-off-by: Marco Nenciarini <[email protected]>
Add integration tests for volume mount migration normalization in compareVolumeMounts (extension and tablespace paths). Document known limitation where ext_*/tbs_* named resources may cause one spurious pod restart during upgrade. Signed-off-by: Armando Ruocco <[email protected]>
Signed-off-by: Niccolò Fei <[email protected]>
Signed-off-by: Marco Nenciarini <[email protected]>
mnencia
added a commit
that referenced
this pull request
Feb 20, 2026
…#9973) Add namespace prefixes to extension and tablespace volume names so they cannot collide with system volumes (pgdata, shm, pg-wal, scratch-data, projected) or with each other. Extensions get an "ext-" prefix, tablespaces get a "tbs-" prefix. Webhook validation rejects names that produce duplicate volume names after K8s name sanitization, for both extensions and tablespaces. Migration logic normalizes old unprefixed volume names during pod spec comparison, preventing unnecessary pod restarts on upgrade. The operator upgrade E2E fixtures now include a tablespace to exercise this path. Closes #9972 Signed-off-by: Marco Nenciarini <[email protected]> Signed-off-by: Armando Ruocco <[email protected]> Signed-off-by: Niccolò Fei <[email protected]> Co-authored-by: Armando Ruocco <[email protected]> Co-authored-by: Niccolò Fei <[email protected]> (cherry picked from commit 8d3af4d)
mnencia
added a commit
that referenced
this pull request
Feb 20, 2026
…#9973) Add namespace prefixes to extension and tablespace volume names so they cannot collide with system volumes (pgdata, shm, pg-wal, scratch-data, projected) or with each other. Extensions get an "ext-" prefix, tablespaces get a "tbs-" prefix. Webhook validation rejects names that produce duplicate volume names after K8s name sanitization, for both extensions and tablespaces. Migration logic normalizes old unprefixed volume names during pod spec comparison, preventing unnecessary pod restarts on upgrade. The operator upgrade E2E fixtures now include a tablespace to exercise this path. Closes #9972 Signed-off-by: Marco Nenciarini <[email protected]> Signed-off-by: Armando Ruocco <[email protected]> Signed-off-by: Niccolò Fei <[email protected]> Co-authored-by: Armando Ruocco <[email protected]> Co-authored-by: Niccolò Fei <[email protected]> (cherry picked from commit 8d3af4d)
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.
Add namespace prefixes to extension and tablespace volume names so they cannot collide with system volumes (pgdata, shm, pg-wal, scratch-data, projected) or with each other. Extensions get an "ext-" prefix, tablespaces get a "tbs-" prefix.
Webhook validation rejects names that produce duplicate volume names after K8s name sanitization, for both extensions and tablespaces.
Migration logic normalizes old unprefixed volume names during pod spec comparison, preventing unnecessary pod restarts on upgrade. The operator upgrade E2E fixtures now include a tablespace to exercise this path.
Closes #9972