Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

# System-1: System testing: Deviation added #3416

Closed
wants to merge 2 commits into from

Conversation

cakhil45
Copy link
Contributor

@cakhil45 cakhil45 commented Sep 5, 2024

As per comment given in the pull #3265 , Added deviation.

@cakhil45 cakhil45 requested a review from a team as a code owner September 5, 2024 06:50
@cakhil45 cakhil45 requested a review from a team September 5, 2024 06:50
@OpenConfigBot
Copy link

OpenConfigBot commented Sep 5, 2024

Pull Request Functional Test Report for #3416 / cbfcba4

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
System-1: System testing
25111a8a Log
Cisco 8000E status
System-1: System testing
692abaac Log
Cisco XRd status
System-1: System testing
5cfba2e7 Log
Juniper ncPTX status
System-1: System testing
a2243c11 Log
Nokia SR Linux status
System-1: System testing
cc34f10b Log
Openconfig Lemming status
System-1: System testing
8ad7ef1e Log

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
System-1: System testing
Cisco 8808 status
System-1: System testing
Juniper PTX10008 status
System-1: System testing
Nokia 7250 IXR-10e status
System-1: System testing

Help

@coveralls
Copy link

coveralls commented Sep 5, 2024

Pull Request Test Coverage Report for Build 11586703328

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 55.268%

Totals Coverage Status
Change from base Build 11582679859: 0.0%
Covered Lines: 1983
Relevant Lines: 3588

💛 - Coveralls

Copy link
Contributor

@Swetha-haridasula Swetha-haridasula left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Contributor

@Swetha-haridasula Swetha-haridasula left a comment

Choose a reason for hiding this comment

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

lgtm

@@ -58,8 +59,14 @@ func TestGNMIClient(t *testing.T) {
dut := ondatra.DUT(t, "dut")
conn := dialConn(t, dut, introspect.GNMI, 9339)
c := gpb.NewGNMIClient(conn)
if _, err := c.Get(context.Background(), &gpb.GetRequest{Encoding: gpb.Encoding_JSON_IETF, Path: []*gpb.Path{{Elem: []*gpb.PathElem{}}}}); err != nil {
t.Fatalf("gnmi.Get failed: %v", err)
if deviations.GnmiGetRequiresConfigType(dut) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this a deviation and/or required? What is the behavioural difference that is driving this change?

The gNMI protobuf has ALL as the default data type. We should not accept different Get implementations that try and impose mandatory defaults if this does not meet the requirements. Please review this change and determine what it is we are actually trying to cover rather than making changes that simply make the test pass.

@xw-g for visibility. @sezhang2 -- because this looks like a Juniper change that is being made.

I'm marking this as 'requires changes' to block submission until this has been reviewed further. Please ping me directly once we've provided adequate justification here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi robshakie,
As per the comment suggested by @dplore this change was made with the deviation request-
#3265 (comment)

Please let me know if any other changes needs to be done.

Thanks,
C Akhil

Copy link
Member

Choose a reason for hiding this comment

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

@robshakir If seems Junos only supports gNMI.Get on config leaves. This is not compliant with gnmi, but we also want to be aware of this limitation.

I recommend that we accept a deviation for this because this is not blocking operational requirements and allows us to document the issue. Juniper should remove this deviation on a future release of Junos.

Note that IOSXR has a related but different issue; gNMI.Subscribe is not supported on config leaves.

Copy link
Contributor

Choose a reason for hiding this comment

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

@robshakir gnmi get for config path now requires type=config, it was already part of the gnmi spec(https://github.com/openconfig/gnmi/blob/master/proto/gnmi/gnmi.proto#L409). gnmi get rpc for state is redundant as subscribe with once mode achieves the same. Kindly review further and let us if this is acceptable

Copy link
Contributor

Choose a reason for hiding this comment

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

What is our plan to resolve this deviation? Please ping me internally with this information. I think this is proliferating an ambiguity in requirements. No change to my blocking comments.

@Swetha-haridasula Swetha-haridasula self-assigned this Oct 24, 2024
Copy link
Contributor

@Swetha-haridasula Swetha-haridasula left a comment

Choose a reason for hiding this comment

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

lgtm

@@ -58,8 +59,14 @@ func TestGNMIClient(t *testing.T) {
dut := ondatra.DUT(t, "dut")
conn := dialConn(t, dut, introspect.GNMI, 9339)
c := gpb.NewGNMIClient(conn)
if _, err := c.Get(context.Background(), &gpb.GetRequest{Encoding: gpb.Encoding_JSON_IETF, Path: []*gpb.Path{{Elem: []*gpb.PathElem{}}}}); err != nil {
t.Fatalf("gnmi.Get failed: %v", err)
if deviations.GnmiGetRequiresConfigType(dut) {
Copy link
Contributor

Choose a reason for hiding this comment

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

@robshakir gnmi get for config path now requires type=config, it was already part of the gnmi spec(https://github.com/openconfig/gnmi/blob/master/proto/gnmi/gnmi.proto#L409). gnmi get rpc for state is redundant as subscribe with once mode achieves the same. Kindly review further and let us if this is acceptable

@Swetha-haridasula Swetha-haridasula dismissed their stale review October 28, 2024 05:59

Issue is adressed

@cakhil45 cakhil45 closed this Oct 29, 2024
@cakhil45 cakhil45 reopened this Oct 29, 2024
@cakhil45 cakhil45 reopened this Oct 30, 2024
@dplore
Copy link
Member

dplore commented Nov 5, 2024

/fptest virtual

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

Successfully merging this pull request may close these issues.

6 participants