Skip to content

TRANSCEIVER-101,102 fix as per README#4771

Open
snaragund wants to merge 3 commits intoopenconfig:mainfrom
nokia:SND-800G101
Open

TRANSCEIVER-101,102 fix as per README#4771
snaragund wants to merge 3 commits intoopenconfig:mainfrom
nokia:SND-800G101

Conversation

@snaragund
Copy link
Copy Markdown
Contributor

  1. Added 800zr testbed in runtests.go
  2. Removed unwanted Nokia deviation eth_channel_ingress_parameters_unsupported.
  3. As per README changed functions under zr_validation.go
    • Configured oper-mode, frequency & targetOpticalPower with admin-state Up.
    • Removed redundant interface admin-state bouncing.
  4. Passed proper parameter with validateTempSensorTelemetry function call.

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."

- Added 800zr testbed in runtests.go
- Removed unwanted Nokia deviation `eth_channel_ingress_parameters_unsupported`.
- As per README changed functions under zr_validation.go
  i. Configured oper-mode, frequency & targetOpticalPower with admin-state Up.
 ii. Removed redundant interface admin-state bouncing.

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."
@snaragund snaragund requested review from a team as code owners October 31, 2025 16:02
@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented Oct 31, 2025

Pull Request Functional Test Report for #4771 / 1e024e3

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Cisco 8000E status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Cisco XRd status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Juniper ncPTX status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Nokia SR Linux status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Openconfig Lemming status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Cisco 8808 status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Juniper PTX10008 status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.
Nokia 7250 IXR-10e status
status
TRANSCEIVER-101: Telemetry: ZR platform OC paths streaming.
TRANSCEIVER-102: Telemetry: ZR terminal-device OC paths streaming.

Help

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @snaragund, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the transceiver testing framework by adding support for the 800ZR testbed, removing an unnecessary Nokia deviation, and refining the configuration and validation processes within the ZR validation logic. These changes improve the accuracy and reliability of transceiver testing.

Highlights

  • Testbed Addition: Added 800zr testbed support in runtests.go.
  • Deviation Removal: Removed the eth_channel_ingress_parameters_unsupported Nokia deviation from metadata files.
  • Configuration Updates: Modified zr_validation.go to configure oper-mode, frequency, and targetOpticalPower with admin-state Up, and removed redundant interface admin-state bouncing.
  • Parameter Correction: Corrected the parameter passed with the validateTempSensorTelemetry function call.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces several fixes and improvements. It adds a new 800ZR testbed, removes an unnecessary Nokia deviation, and simplifies the ZR validation tests by removing redundant interface state bouncing. The changes also include a fix for a parameter in a telemetry validation function call.

My review focuses on improving code maintainability by addressing code duplication in the test validation logic. I've suggested refactoring the repeated validation blocks into helper functions to make the code cleaner and easier to manage. Overall, the changes are positive and improve the test suite.

Comment on lines 165 to 171
for _, p := range dut.Ports() {
validateInterfaceTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, interfaceStreams[p.Name()])
validateTranscieverTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, trStreams[p.Name()])
validateTempSensorTelemetry(t, dut, p, params, oc.Interface_OperStatus_DOWN, tempSensorStreams[p.Name()])
validateTempSensorTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, tempSensorStreams[p.Name()])
validateOpticalChannelTelemetry(t, p, params, oc.Interface_OperStatus_UP, ochStreams[p.Name()])
validateHWPortTelemetry(t, dut, p, params, hwPortStreams[p.Name()])
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This block of code for validating the 'UP' state of platform telemetry is duplicated later in the function (lines 191-197). To improve maintainability and reduce redundancy, consider extracting this logic into a dedicated helper function, for example validatePlatformTelemetryUp, and call it here and on line 191.

Here's a possible implementation for the helper function:

func validatePlatformTelemetryUp(t *testing.T, dut *ondatra.DUTDevice, params *cfgplugins.ConfigParameters, interfaceStreams map[string]*samplestream.SampleStream[*oc.Interface], trStreams map[string]*samplestream.SampleStream[*oc.Component], tempSensorStreams map[string]*samplestream.SampleStream[*oc.Component], ochStreams map[string]*samplestream.SampleStream[*oc.Component], hwPortStreams map[string]*samplestream.SampleStream[*oc.Component]) {
	t.Helper()
	for _, p := range dut.Ports() {
		validateInterfaceTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, interfaceStreams[p.Name()])
		validateTranscieverTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, trStreams[p.Name()])
		validateTempSensorTelemetry(t, dut, p, params, oc.Interface_OperStatus_UP, tempSensorStreams[p.Name()])
		validateOpticalChannelTelemetry(t, p, params, oc.Interface_OperStatus_UP, ochStreams[p.Name()])
		validateHWPortTelemetry(t, dut, p, params, hwPortStreams[p.Name()])
	}
}
				validatePlatformTelemetryUp(t, dut, params, interfaceStreams, trStreams, tempSensorStreams, ochStreams, hwPortStreams)

@coveralls
Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18978157371

Details

  • 0 of 4 (0.0%) changed or added relevant lines in 1 file are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.01%) to 11.094%

Changes Missing Coverage Covered Lines Changed/Added Lines %
internal/telemetry/transceiver/zr_validation.go 0 4 0.0%
Files with Coverage Reduction New Missed Lines %
internal/telemetry/transceiver/zr_validation.go 2 0.0%
Totals Coverage Status
Change from base Build 18964170800: 0.01%
Covered Lines: 2224
Relevant Lines: 20046

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants