introduce stamped flag on topology services#247
Merged
Conversation
EV2 supports deploying multiple instances (stamps) of a service group within a single region. To leverage this, the generator needs to know which service groups are stamp-scoped so it can populate the Stamps field on their ServiceResourceGroupDefinitions. Add a Stamped bool to topology.Service and propagate it from parent to children during LoadCombined, after external parents are resolved. This ensures every consumer of the topology gets correct stamp inheritance without needing to call propagation explicitly. https://redhat.atlassian.net/browse/ARO-26932
There was a problem hiding this comment.
Pull request overview
This PR adds a Stamped flag to the topology service model and ensures stamped scoping is inherited by child services (including after cross-topology externalParent resolution), so downstream topology consumers can reliably determine stamp-scoped service groups.
Changes:
- Add
Stampedboolean field totopology.Service(YAML/JSON fieldstamped). - Implement
Topology.PropagateStamped()and invoke it fromLoadCombined()after resolvingexternalParentrelationships. - Propagate
Stampedinto the graph’s single-pipeline service copy inpipelines/graph.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pipelines/topology/types.go | Adds Stamped to Service, implements stamped inheritance propagation, and calls it during combined topology loading. |
| pipelines/topology/types_test.go | Adds unit tests for PropagateStamped() inheritance behavior. |
| pipelines/graph/graph.go | Preserves Stamped when constructing a childless Service for single-pipeline graph generation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gerd Oberlechner <[email protected]>
12 tasks
stevekuznetsov
approved these changes
Jun 10, 2026
openshift-merge-bot Bot
pushed a commit
to Azure/ARO-HCP
that referenced
this pull request
Jun 11, 2026
Add mgmt.stamps.count to config and schema to hold stamp count per region (default: 1). Mark the MGMT service group as stamped in topology.yaml so the EV2 generator can populate per-stamp ServiceResourceGroupDefinitions. Bump ARO-Tools to Azure/ARO-Tools#247 which introduces the Stamped flag on topology services. https://redhat.atlassian.net/browse/ARO-26932
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.
EV2 supports deploying multiple instances (stamps) of a service group within a single region. To leverage this, the generator needs to know which service groups are stamp-scoped so it can populate the Stamps field on their ServiceResourceGroupDefinitions.
Add a Stamped bool to topology.Service and propagate it from parent to children during LoadCombined, after external parents are resolved. This ensures every consumer of the topology gets correct stamp inheritance without needing to call propagation explicitly.
https://redhat.atlassian.net/browse/ARO-26932