Addition of prober_typer knob of MUX_CABLE as part of golden config - #20765
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
07e2a06 to
aba6246
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Hi @bingwang-ms - please help merge. |
|
Hi @harjotsinghpawra - what the plan for this PR? Do we want to resolve the conflict and merge. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Hi @harjotsinghpawra - can you add a sample kvm testbed in testbed.yaml with the prober_type field. |
|
/azpw run |
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
61f82c4 to
92b67a3
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@anders-nexthop Done , can you please review thanks . |
anders-nexthop
left a comment
There was a problem hiding this comment.
Thanks for the rebase — the prober_type plumbing reads well and the MUX_CABLE/PORT injection looks right. Two inline questions/nits, plus one ask:
@zjswhhh earlier asked for a sample testbed.yaml entry with the prober_type field — it doesn't look like that made it into the diff yet. Could you add one so others enabling this have a reference?
— anders-bot (AI-assisted, on behalf of @anders-nexthop)
|
|
||
| # Preserve DEVICE_METADATA | ||
| if "DEVICE_METADATA" in ori_config_db: | ||
| golden_config_db["DEVICE_METADATA"] = ori_config_db["DEVICE_METADATA"] |
There was a problem hiding this comment.
buffer_model="traditional" — intentional drop for dualtor? Before this PR, dualtor fell through to the else branch → generate_default_init_config_db(), which sets DEVICE_METADATA.localhost.buffer_model = "traditional" — the same path plain t0/t1 take, so they keep it. Routing dualtor through this new method instead means dualtor diverges from its t0/t1 siblings' buffer model. The two other split-out generators (generate_full_lossy_golden_config_db, generate_smartswitch_golden_config_db) deliberately re-assert traditional, so if dualtor needs the static buffer model like t0/t1, this method should set it too (right after the DEVICE_METADATA copy). Was the drop intended?
There was a problem hiding this comment.
You are right first i skipped it thinking that by default the type is traditional ,but we check the actual metadata value in some scripts so addedit back.
| num_asics=dict(required=False, type='int', default=1), | ||
| hwsku=dict(required=False, type='str', default=None), | ||
| vm_configuration=dict(required=False, type='dict', default={}), | ||
| prober_type=dict(require=False, type='str', default=None), |
There was a problem hiding this comment.
Typo: require=False should be required=False — require isn't a valid argument_spec key (every other entry here uses required=). On stricter ansible-core this can raise on the unknown key; where it's tolerated it silently means no required constraint is applied (harmless here since default=None, but worth fixing).
|
@harjotsinghpawra I found a couple minor things, please address them as you see fit and then I can merge the PR. |
Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@anders-nexthop Jing suggested that because some kvm tests were failing when i initially raised, and there is no sample config for lit or filterleaf . But i have added sample config for refrence |
Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: selldinesh <dinesh.sellappan@keysight.com>
|
@anders-nexthop can we cherry pick it for 202605 ? |
|
This PR has backport request for branch(es): 202605. ---Powered by SONiC BuildBot
|
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: selldinesh <dinesh.sellappan@keysight.com>
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com>
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: harjotsinghpawra <harjotpawrawork@gmail.com>
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: ssithaia-ebay <ssithaian@ebay.com>
…nfig support (#26376) ### Description of PR Summary: Cherry-pick the following `master` commits to `202605` to support configuring `prober_type` and `neighbor_mode` in dual-ToR golden config generation: ff59c00 Addition of prober_typer knob of MUX_CABLE as part of golden config (#20765) 2269833 [Dualtor] add support for neighbor mode in golden_config (#25674) Fixes # (issue): N/A - backport of existing `master` commits. ### Type of change - [ ] Bug fix - [x] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 - [ ] 202511 - [ ] 202512 - [ ] 202605 ### Approach #### What is the motivation for this PR? Allow dual-ToR testbeds on `202605` to select software or hardware probing and host-route or prefix-route neighbor mode through testbed configuration. #### How did you do it? Cherry-picked the two listed `master` commits in dependency order. The changes pass the testbed values to golden config generation and add them to existing `MUX_CABLE` entries when explicitly configured. #### How did you verify/test it? - `git diff --check upstream/202605...HEAD` - `python3 -m py_compile ansible/library/generate_golden_config_db.py` #### Any platform specific information? The settings apply to dual-ToR topologies. Existing defaults remain unchanged when the knobs are not configured. #### Supported testbed topology if it's a new test case? Not a new test case. The framework changes target dual-ToR topologies. ### Documentation The testbed configuration example is included in `ansible/testbed.yaml`. --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: harjotsinghpawra <harjotpawrawork@gmail.com> Signed-off-by: Jing Zhang <zhangjing@microsoft.com> Co-authored-by: harjotsinghpawra <harjotpawrawork@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 684f81f0-f270-43fc-b397-2cb895b9ef0f
|
@harjotsinghpawra — this PR is labeled Request for 202605 branch, but the following required information is still missing:
Please add the missing information to the PR description. Tracker details should cover day-one/regression status, affected branch/image/platform/test, and why 202605 needs the fix; validation should identify the tested 202605 image and include the result or result link. |
…onic-net#20765) <!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor. How to enable it : - conf-name: docker-ptf group-name: sonic_cisco topo: t0 ptf_image_name: docker-ptf-titan **prober_type: hardware** ptf: docker-ptf ptf_ip: 192.168.122.78/24 ptf_ipv6: fc0b::1/64 server: server_1 vm_base: VM0100 dut: - titan-01 inv_name: lab auto_recover: 'True' comment: Test ptf titan Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [X ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [ ] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 ### Approach #### What is the motivation for this PR? This PR is to add support for prober_type knob enable or disable in golden_config #### How did you do it? added prober_type: <hardware/software> to testbed.yaml specific config will be added to golden_config_db.json which will eventaully go to config_db.json using minigraph_override #### How did you verify/test it? Ran sanities with this option enabled and then disabled. It was generating the right golden_config #### Any platform specific information? Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software. #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> --------- Signed-off-by: Harjot Singh <harjotpawrawork@gmail.com> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
|
Could you please clarify whether this PR is a must-have cherry-pick for the 202605 branch? Current evaluation
If this is required for 202605, please reply with the branch-specific failure or impact, required dependencies, and 202605 validation results. If there is no response by September 2, 2026, the Request for 202605 branch will be rejected based on the evaluation above. |
|
This PR has backport request label(s) for branch(es): 202605, but is missing required test information. Please make sure you tick the tested branch(es) in the Tested branch section and provide test evidence (e.g., 202605: <test result>) in the Test result section as well in your PR description. ---Powered by SONiC BuildBot
|
Description of PR
Summary:
Prober_type knob was added in MUX_CABLE,now we needed an option to run mgmt runs with software prober or hardware prober for any run on dualtor.
How to enable it :
group-name: sonic_cisco
topo: t0
ptf_image_name: docker-ptf-titan
prober_type: hardware
ptf: docker-ptf
ptf_ip: 192.168.122.78/24
ptf_ipv6: fc0b::1/64
server: server_1
vm_base: VM0100
dut:
inv_name: lab
auto_recover: 'True'
comment: Test ptf titan
Fixes # (issue)
Type of change
Back port request
Approach
What is the motivation for this PR?
This PR is to add support for prober_type knob enable or disable in golden_config
How did you do it?
added prober_type: <hardware/software> to testbed.yaml
specific config will be added to golden_config_db.json
which will eventaully go to config_db.json using minigraph_override
How did you verify/test it?
Ran sanities with this option enabled and then disabled. It was generating the right golden_config
Any platform specific information?
Default value of this prober_type will be software .if nothing is added in testbed.yaml then no need to add this as default is already software.
Supported testbed topology if it's a new test case?
Documentation