Skip to content

introduce stamped flag on topology services#247

Merged
stevekuznetsov merged 2 commits into
mainfrom
topology-stamp-marker
Jun 10, 2026
Merged

introduce stamped flag on topology services#247
stevekuznetsov merged 2 commits into
mainfrom
topology-stamp-marker

Conversation

@geoberle

Copy link
Copy Markdown
Collaborator

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

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
Copilot AI review requested due to automatic review settings June 10, 2026 08:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 Stamped boolean field to topology.Service (YAML/JSON field stamped).
  • Implement Topology.PropagateStamped() and invoke it from LoadCombined() after resolving externalParent relationships.
  • Propagate Stamped into the graph’s single-pipeline service copy in pipelines/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.

Comment thread pipelines/topology/types.go
Signed-off-by: Gerd Oberlechner <[email protected]>
@stevekuznetsov stevekuznetsov merged commit 038622a into main Jun 10, 2026
2 checks passed
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants