Repository navigation
Cover breakout port generation - #2567
Merged
Merged
Conversation
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 5, 2026 15:10
0acfa0a to
f7628a6
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 5, 2026 19:51
f7628a6 to
dbf7e9d
Compare
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 6, 2026 10:56
dbf7e9d to
e9567cb
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 6, 2026 12:10
e9567cb to
9112fb9
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 6, 2026 12:19
9112fb9 to
c3f1efc
Compare
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 7, 2026 05:35
c3f1efc to
90d8da1
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 7, 2026 08:07
90d8da1 to
1db7834
Compare
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 7, 2026 08:59
1db7834 to
a1c92f5
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
August 25, 2026 13:55
a1c92f5 to
7dca70a
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
September 16, 2026 14:18
7dca70a to
58beccc
Compare
ideaship
removed this pull request from stack #2572
September 16, 2026 14:27
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
September 16, 2026 15:02
58beccc to
c5ae99c
Compare
ideaship
force-pushed
the
sonic-e2e-v2-breakout
branch
from
September 16, 2026 15:11
c5ae99c to
6c95c59
Compare
ideaship
added this pull request to stack #2704
September 16, 2026 15:50
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
September 16, 2026 16:02
6c95c59 to
4b964da
Compare
The bundled netbox-manager example models no breakout ports and sets no explicit interface speeds, so the generator's breakout paths and its kbps->Mbps speed normalisation were never exercised by the SONiC E2E golden test. Add two standalone leaf devices on the shared E2E rack (positions 6 and 7, taking no cabling and needing none): - e2e-breakout-derived: Eth1/1/1..4 use the device type's 100gbase-x-qsfp28 interface type with no explicit speed, so the sub-port speed is derived from the interface type. Also carries a tagged VLAN on the plain Eth1/5 port, covering the VLAN / tagged-VLAN-to-port paths. - e2e-breakout-explicit: the same four sub-ports instead carry an explicit NetBox speed of 100000000 kbps, exercising the other unit the collection step must normalise. Both must yield sub-port speed 100000 in the generated config; confirmed via the regenerated goldens (BREAKOUT_CFG and BREAKOUT_PORTS populated on both, no bare speed "100" present). This brings config_db table coverage from 30 to 32 of 38. The two devices reuse the site, location, tenant, roles, tags and custom fields already seeded by 100-base.yml, and the edgecore-9726-32d-e2e device type is ported from ab8da03a. Related-Bug: #2478 Related-Bug: #2246 Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Roger Luethi <luethi@osism.tech>
berendt
force-pushed
the
sonic-e2e-v2-breakout
branch
from
September 16, 2026 18:05
4b964da to
c615ca1
Compare
ideaship
marked this pull request as ready for review
September 16, 2026 18:21
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="tests/e2e/scenario/resources/500-breakout.yml" line_range="12-21" />
<code_context>
+# fields created by 100-base.yml, and take the next free positions in the
+# shared E2E rack so they never collide with the base devices.
+#
+# Both devices use the edgecore-9726-32d-e2e device type (hwsku
+# Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ
+# only in how the sub-port speed reaches NetBox:
+#
+# e2e-breakout-derived speed derived from the interface type
+# (100gbase-x-qsfp28 -> 100000 Mbps); no explicit
+# speed. This is how real deployments model
+# breakouts.
+# e2e-breakout-explicit the same sub-ports with an explicit NetBox speed
+# set in kbps (100000000), the other unit the
+# collection step must normalise.
+#
</code_context>
<issue_to_address>
**nitpick:** The scenario comment states that the two devices differ only in how sub-port speed reaches NetBox, but `e2e-breakout-derived` also has a tagged VLAN on `Eth1/5` while `e2e-breakout-explicit` has no corresponding VLAN fixture. The comment is misleading when comparing the resulting coverage and makes the fixture differences harder to understand.
**Suggested fix:** Change the comment to state that the devices differ in speed representation and that only the derived device additionally carries the tagged-VLAN coverage fixture.
```suggestion
# Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ in
# how the sub-port speed is represented in NetBox, and only the derived device
# additionally carries the tagged-VLAN coverage fixture:
#
# e2e-breakout-derived speed derived from the interface type
# (100gbase-x-qsfp28 -> 100000 Mbps); no explicit
# speed. This is how real deployments model
# breakouts.
# e2e-breakout-explicit the same sub-ports with an explicit NetBox speed
# set in kbps (100000000), the other unit the
# collection step must normalise.
```
</issue_to_address>Sourcery assessment
Approved.
Comment on lines
+12
to
+21
| # Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ | ||
| # only in how the sub-port speed reaches NetBox: | ||
| # | ||
| # e2e-breakout-derived speed derived from the interface type | ||
| # (100gbase-x-qsfp28 -> 100000 Mbps); no explicit | ||
| # speed. This is how real deployments model | ||
| # breakouts. | ||
| # e2e-breakout-explicit the same sub-ports with an explicit NetBox speed | ||
| # set in kbps (100000000), the other unit the | ||
| # collection step must normalise. |
There was a problem hiding this comment.
nitpick: The scenario comment states that the two devices differ only in how sub-port speed reaches NetBox, but e2e-breakout-derived also has a tagged VLAN on Eth1/5 while e2e-breakout-explicit has no corresponding VLAN fixture. The comment is misleading when comparing the resulting coverage and makes the fixture differences harder to understand.
Suggested fix: Change the comment to state that the devices differ in speed representation and that only the derived device additionally carries the tagged-VLAN coverage fixture.
Suggested change
| # Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ | |
| # only in how the sub-port speed reaches NetBox: | |
| # | |
| # e2e-breakout-derived speed derived from the interface type | |
| # (100gbase-x-qsfp28 -> 100000 Mbps); no explicit | |
| # speed. This is how real deployments model | |
| # breakouts. | |
| # e2e-breakout-explicit the same sub-ports with an explicit NetBox speed | |
| # set in kbps (100000000), the other unit the | |
| # collection step must normalise. | |
| # Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ in | |
| # how the sub-port speed is represented in NetBox, and only the derived device | |
| # additionally carries the tagged-VLAN coverage fixture: | |
| # | |
| # e2e-breakout-derived speed derived from the interface type | |
| # (100gbase-x-qsfp28 -> 100000 Mbps); no explicit | |
| # speed. This is how real deployments model | |
| # breakouts. | |
| # e2e-breakout-explicit the same sub-ports with an explicit NetBox speed | |
| # set in kbps (100000000), the other unit the | |
| # collection step must normalise. |
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.
Part of the series tracked in #2562, which explains the ordering and what each PR covers. Based on the preceding PR in the stack, so review only the top commits here.
First scenario overlay: devices that exercise breakout port generation, covering
BREAKOUT_CFGandBREAKOUT_PORTS, which the base fixtures leave empty.Two devices differ only in how their sub-port speed is established — one derived
from the interface type, one with an explicit NetBox speed — because the
kbps-to-Mbps conversion and the type-derivation fallback are separate code paths
that both feed breakout mode selection.