featureprofiles icon indicating copy to clipboard operation
featureprofiles copied to clipboard

TUN-1.6: Tunnel End Point Resize for Ecapsulation - Interface Based GRE Tunnel

Open ANISH-GOTTAPU opened this issue 5 months ago • 6 comments

Readme Location : https://github.com/openconfig/featureprofiles/blob/main/feature/tunnel/otg_tests/tunnel_interface_based_resize_test/README.md

The log is attached here: https://partnerissuetracker.corp.google.com/issues/415458482

ANISH-GOTTAPU avatar Aug 06 '25 14:08 ANISH-GOTTAPU

Pull Request Test Coverage Report for Build 19610056156

Details

  • 0 of 143 (0.0%) changed or added relevant lines in 4 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.04%) to 10.067%

Changes Missing Coverage Covered Lines Changed/Added Lines %
internal/cfgplugins/staticnexthop.go 0 24 0.0%
internal/otg_helpers/otg_validation_helpers/otgvalidationhelpers.go 0 28 0.0%
internal/cfgplugins/policyforwarding.go 0 37 0.0%
internal/otg_helpers/otg_config_helpers/otgflowhelpers.go 0 54 0.0%
<!-- Total: 0 143
Totals Coverage Status
Change from base Build 19603192980: -0.04%
Covered Lines: 2227
Relevant Lines: 22122

💛 - Coveralls

coveralls avatar Aug 06 '25 15:08 coveralls

Review comments still pending, PTAL

Apologies for the delay in addressing the comments.

ANISH-GOTTAPU avatar Aug 31 '25 08:08 ANISH-GOTTAPU

@cpubob : All the comments are addressed as suggested, requesting for review again.

ANISH-GOTTAPU avatar Sep 22 '25 14:09 ANISH-GOTTAPU

@cpubob : Resolved all the comments and updated the code as suggested, the latest log is attached here https://partnerissuetracker.corp.google.com/issues/415458482#comment79. Requesting for review again.

ANISH-GOTTAPU avatar Sep 30 '25 07:09 ANISH-GOTTAPU

@cpubob : Resolved all the comments, can you please review again.

ANISH-GOTTAPU avatar Oct 22 '25 07:10 ANISH-GOTTAPU

Pre-merge Action: @ram-mac , kindly execute this test within our environment before merging. We can proceed with the merge upon successful test completion

ksgireesha avatar Nov 14 '25 18:11 ksgireesha

@ANISH-GOTTAPU - This test fails to apply the gnmi.CLI configuration on the device. Below is the error for the same. So, traffic-policy tcam configuration needs to be applied to the test for the test to work.

[third_party/openconfig/featureprofiles/internal/helpers/helpers.go:136](): gnmiClient.Set() with unexpected error: rpc error: code = InvalidArgument desc = error on request {
        update:  {
          path:  {
            origin:  "cli"
          }
          val:  {
            ascii_val:  "  \n                    traffic-policies  \n                      traffic-policy tp_gre_encap  \n                          match ipv4-all-default ipv4  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                          match ipv6-all-default ipv6  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                      !  \n                    !  \n                    interface Ethernet6/5/1  \n                      traffic-policy input tp_gre_encap  \n                    !  \n"
          }
        }
        }: failed to apply: Failed to commit traffic-policy : Port traffic-policy not supported in TCAM profile: ERROR: session commit failed, no checkpoint to rollback to: CLI command 24 of 24 'configure session session818018210702795 commit' failed: could not run command

I have attached the TCAM configuration required for the ngPR and this should be added to the test using below function. https://partnerissuetracker.corp.google.com/issues/415458482 comment#121

func configureHardwareInit(t *testing.T, dut *ondatra.DUTDevice) {
	hardwareInitCfg := cfgplugins.NewDUTHardwareInit(t, dut, cfgplugins.FeatureTrafficPolicy)
	if hardwareInitCfg == "" {
		return
	}
	cfgplugins.PushDUTHardwareInitConfig(t, dut, hardwareInitCfg)
}

// testSetup prepares the DUT and OTG configuration for tunnel interface testing.
func testSetup(t *testing.T) {
	t.Helper()
	t.Log("TUN:1.6.1-Setup Tunnels as per requirements")
	dut := ondatra.DUT(t, "dut")
	fptest.ConfigureDefaultNetworkInstance(t, dut)

	configureHardwareInit(t, dut)

ram-mac avatar Nov 21 '25 05:11 ram-mac

I have tested with the mentioned traffic policy TCAM and the test still fails. I will attach the fail logs with TCAM configuration here https://partnerissuetracker.corp.google.com/issues/415458482 comment#122

[third_party/openconfig/featureprofiles/internal/helpers/helpers.go:136](): gnmiClient.Set() with unexpected error: rpc error: code = InvalidArgument desc = error on request {
        update: {
          path: {
            origin: "cli"
          }
          val: {
            ascii_val: "  \n                    traffic-policies  \n                      traffic-policy tp_gre_encap  \n                          match ipv4-all-default ipv4  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                          match ipv6-all-default ipv6  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                      !  \n                    !  \n                    interface Ethernet5/21/1  \n                      traffic-policy input tp_gre_encap  \n                    !  \n"
          }
        }
        }: failed to apply: Failed to commit traffic-policy : timeout: ERROR: session commit failed, no checkpoint to rollback to: CLI command 24 of 24 'configure session session819062846720930 commit' failed: could not run command

ram-mac avatar Nov 21 '25 07:11 ram-mac

I have tested with the mentioned traffic policy TCAM and the test still fails. I will attach the fail logs with TCAM configuration here https://partnerissuetracker.corp.google.com/issues/415458482 comment#122

[third_party/openconfig/featureprofiles/internal/helpers/helpers.go:136](): gnmiClient.Set() with unexpected error: rpc error: code = InvalidArgument desc = error on request {
        update: {
          path: {
            origin: "cli"
          }
          val: {
            ascii_val: "  \n                    traffic-policies  \n                      traffic-policy tp_gre_encap  \n                          match ipv4-all-default ipv4  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                          match ipv6-all-default ipv6  \n                              actions  \n                                  count  \n                                  redirect next-hop group gre_encap  \n                                  set traffic class 3  \n                          !  \n                      !  \n                    !  \n                    interface Ethernet5/21/1  \n                      traffic-policy input tp_gre_encap  \n                    !  \n"
          }
        }
        }: failed to apply: Failed to commit traffic-policy : timeout: ERROR: session commit failed, no checkpoint to rollback to: CLI command 24 of 24 'configure session session819062846720930 commit' failed: could not run command

@ram-mac : Thanks for the suggestion, updated the test so that proper TCAM gets applied.

ANISH-GOTTAPU avatar Nov 23 '25 11:11 ANISH-GOTTAPU

@ANISH-GOTTAPU - I ran the test and the test is failing due to ecmp validation error. Will upload the full logs to https://partnerissuetracker.corp.google.com/issues/415458482 comment#134

[third_party/openconfig/featureprofiles/feature/tunnel/otg_tests/tunnel_interface_based_resize_test/tunnel_interface_based_resize_test.go:502]: ecmp validation failed: ecmp validation failed:
        port port2: actual packets 75921150 out of expected range [49266612 - 73899918]
        port port3: actual packets 78230539 out of expected range [49266612 - 73899918]
        port port4: actual packets 83522888 out of expected range [49266612 - 73899918]
        port port6: actual packets 77075842 out of expected range [98533223 - 147799835]
=== RUN   TestTunnelInterfaceBasedResize/ResizeTunnelInterfaces
[third_party/openconfig/featureprofiles/feature/tunnel/otg_tests/tunnel_interface_based_resize_test/tunnel_interface_based_resize_test.go:533]: ecmp validation failed: ecmp validation failed:
        port port2: actual packets 85627270 out of expected range [55565092 - 83347638]
        port port3: actual packets 88231908 out of expected range [55565092 - 83347638]
        port port4: actual packets 94200870 out of expected range [55565092 - 83347638]
        port port6: actual packets 86929600 out of expected range [111130183 - 166695275]
=== RUN   TestTunnelInterfaceBasedResize/RestoreStaticRoutes

ram-mac avatar Dec 04 '25 15:12 ram-mac

@ANISH-GOTTAPU - I ran the test and the test is failing due to ecmp validation error. Will upload the full logs to https://partnerissuetracker.corp.google.com/issues/415458482 comment#134

[third_party/openconfig/featureprofiles/feature/tunnel/otg_tests/tunnel_interface_based_resize_test/tunnel_interface_based_resize_test.go:502]: ecmp validation failed: ecmp validation failed:
        port port2: actual packets 75921150 out of expected range [49266612 - 73899918]
        port port3: actual packets 78230539 out of expected range [49266612 - 73899918]
        port port4: actual packets 83522888 out of expected range [49266612 - 73899918]
        port port6: actual packets 77075842 out of expected range [98533223 - 147799835]
=== RUN   TestTunnelInterfaceBasedResize/ResizeTunnelInterfaces
[third_party/openconfig/featureprofiles/feature/tunnel/otg_tests/tunnel_interface_based_resize_test/tunnel_interface_based_resize_test.go:533]: ecmp validation failed: ecmp validation failed:
        port port2: actual packets 85627270 out of expected range [55565092 - 83347638]
        port port3: actual packets 88231908 out of expected range [55565092 - 83347638]
        port port4: actual packets 94200870 out of expected range [55565092 - 83347638]
        port port6: actual packets 86929600 out of expected range [111130183 - 166695275]
=== RUN   TestTunnelInterfaceBasedResize/RestoreStaticRoutes

Thanks @ram-mac : I will also run the test with the image from the log and see if the issue is reproducible.

ANISH-GOTTAPU avatar Dec 05 '25 10:12 ANISH-GOTTAPU