From 8ee21a54ede6808c604e513c50262d4d105efebc Mon Sep 17 00:00:00 2001 From: priyaranjannanda Date: Thu, 18 Jun 2026 04:36:55 -0700 Subject: [PATCH 1/5] gNMI-1.28:Changes to support Juniper Devices --- .../tests/telemetry_interfaces_test/metadata.textproto | 8 ++++++++ .../telemetry_interfaces_test.go | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto index dfa088c4364..1f3134006af 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto +++ b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto @@ -20,4 +20,12 @@ platform_exceptions: { interface_enabled: true } } +platform_exceptions: { + platform: { + vendor: JUNIPER + } + deviations: { + state_path_unsupported: true + } +} diff --git a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go index 00b6e1c9f78..9de2a5a53ca 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go +++ b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go @@ -319,6 +319,9 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Helper() p := gnmi.OC() subIntfIndex := uint32(100) + if dut.Vendor() == ondatra.JUNIPER { + subIntfIndex = 0 + } description := "test description" for _, port := range ports { @@ -366,7 +369,11 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Errorf("\n\n [FAILED]: leaf: Subinterface description is not present on port %s subinterface: '%v' \n\n", port, subinterface) } - gnmi.Delete(t, dut, subinterface.Config()) + if dut.Vendor() == ondatra.JUNIPER && subIntfIndex == 0 { + gnmi.Delete(t, dut, subinterface.Description().Config()) + } else { + gnmi.Delete(t, dut, subinterface.Config()) + } } } From d92eafef21533bce4541671333fbc53955fba720 Mon Sep 17 00:00:00 2001 From: Priya Ranjan Nanda <151918045+priyaranjannanda@users.noreply.github.com> Date: Thu, 18 Jun 2026 17:18:32 +0530 Subject: [PATCH 2/5] Apply suggestion from @gemini-code-assist[bot] Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto | 1 + 1 file changed, 1 insertion(+) diff --git a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto index 1f3134006af..c05856732d6 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto +++ b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto @@ -26,6 +26,7 @@ platform_exceptions: { } deviations: { state_path_unsupported: true + subinterface_zero_only: true } } From 3cd2129170632b93b0facbc783ce3c09e2543a57 Mon Sep 17 00:00:00 2001 From: Priya Ranjan Nanda <151918045+priyaranjannanda@users.noreply.github.com> Date: Thu, 18 Jun 2026 17:18:44 +0530 Subject: [PATCH 3/5] Apply suggestion from @gemini-code-assist[bot] Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../telemetry_interfaces_test/telemetry_interfaces_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go index 9de2a5a53ca..a8101a94e49 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go +++ b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go @@ -319,7 +319,7 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Helper() p := gnmi.OC() subIntfIndex := uint32(100) - if dut.Vendor() == ondatra.JUNIPER { + if deviations.SubinterfaceZeroOnly(dut) { subIntfIndex = 0 } description := "test description" From b380063da38f5dfb589fd1f647c65fd06b1393ec Mon Sep 17 00:00:00 2001 From: Priya Ranjan Nanda <151918045+priyaranjannanda@users.noreply.github.com> Date: Thu, 18 Jun 2026 17:18:57 +0530 Subject: [PATCH 4/5] Apply suggestion from @gemini-code-assist[bot] Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../telemetry_interfaces_test/telemetry_interfaces_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go index a8101a94e49..d31b6f48b5b 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go +++ b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go @@ -369,7 +369,7 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Errorf("\n\n [FAILED]: leaf: Subinterface description is not present on port %s subinterface: '%v' \n\n", port, subinterface) } - if dut.Vendor() == ondatra.JUNIPER && subIntfIndex == 0 { + if deviations.SubinterfaceZeroOnly(dut) { gnmi.Delete(t, dut, subinterface.Description().Config()) } else { gnmi.Delete(t, dut, subinterface.Config()) From 28656c745cb5b04a62916c1a3e89dcba23910374 Mon Sep 17 00:00:00 2001 From: priyaranjannanda Date: Fri, 19 Jun 2026 04:42:25 -0700 Subject: [PATCH 5/5] Updated the changes --- .../gnmi/tests/telemetry_interfaces_test/metadata.textproto | 1 - .../telemetry_interfaces_test/telemetry_interfaces_test.go | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto index c05856732d6..1f3134006af 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto +++ b/feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto @@ -26,7 +26,6 @@ platform_exceptions: { } deviations: { state_path_unsupported: true - subinterface_zero_only: true } } diff --git a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go index d31b6f48b5b..9de2a5a53ca 100644 --- a/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go +++ b/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go @@ -319,7 +319,7 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Helper() p := gnmi.OC() subIntfIndex := uint32(100) - if deviations.SubinterfaceZeroOnly(dut) { + if dut.Vendor() == ondatra.JUNIPER { subIntfIndex = 0 } description := "test description" @@ -369,7 +369,7 @@ func testTelemetryInterfacesStateSubinterface(t *testing.T, dut *ondatra.DUTDevi t.Errorf("\n\n [FAILED]: leaf: Subinterface description is not present on port %s subinterface: '%v' \n\n", port, subinterface) } - if deviations.SubinterfaceZeroOnly(dut) { + if dut.Vendor() == ondatra.JUNIPER && subIntfIndex == 0 { gnmi.Delete(t, dut, subinterface.Description().Config()) } else { gnmi.Delete(t, dut, subinterface.Config())