Skip to content

Add external-service-pod tests#1

Merged
lwr20 merged 4 commits intomainfrom
ext-svc-test
Apr 16, 2025
Merged

Add external-service-pod tests#1
lwr20 merged 4 commits intomainfrom
ext-svc-test

Conversation

@lwr20
Copy link
Member

@lwr20 lwr20 commented Feb 17, 2025

This PR extends tiger-bench to be able to run external->service->pod tests, measuring latency and throughput using qperf, as the tool did before.

These tests are run from where-ever the test is being run from. The tests do NOT include setting up the service (because there are too many possible ways to expose a service to the world in kubernetes).

The README should explain how to set up the service for the test to work (broadly - expose 2 ports, make sure you do not map the port numbers between the pod and the outside world).

Some extra configuration parameters were needed to tell the tool how the service has been exposed (port numbers, etc). Also added was the ability to specify whether or not to run pod-pod, pod-svc-pod or ext-svc-pod tests. And finally, the results format was extended to include ext-svc-pod test results.

@lwr20 lwr20 force-pushed the ext-svc-test branch 2 times, most recently from b9cc02e to 3d7bade Compare February 17, 2025 19:31
@lwr20 lwr20 force-pushed the ext-svc-test branch 3 times, most recently from 7a4ec13 to ed986df Compare March 7, 2025 18:49
@lwr20 lwr20 force-pushed the ext-svc-test branch 7 times, most recently from 3b597f7 to 27645c5 Compare March 31, 2025 15:10
@lwr20 lwr20 requested a review from Copilot April 9, 2025 14:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 17 out of 19 changed files in this pull request and generated 1 comment.

Files not reviewed (2)
  • Dockerfile: Language not supported
  • go.mod: Language not supported
Comments suppressed due to low confidence (2)

pkg/qperf/qperf.go:346

  • Ensure to import the 'strconv' package in pkg/qperf/qperf.go so that converting the control port value to a string works correctly.
controlPortStr := strconv.Itoa(port)

pkg/config/config_test.go:255

  • [nitpick] Consider using consistent key naming in the YAML test definitions (e.g., 'numPolicies' instead of 'numpolicies') to match the established naming convention in the rest of the configuration.
  numpolicies: 100

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@lwr20 lwr20 marked this pull request as ready for review April 9, 2025 15:32
Comment on lines +141 to +142
ControlPort int // The port to use for the control connection in tests. Used by qperf tests.
TestPort int // The port to use for the test connection in tests. Used by qperf and iperf tests
Copy link

Choose a reason for hiding this comment

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

are these only used for external-service-pod tests

Copy link
Member Author

Choose a reason for hiding this comment

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

No, these are used for all qperf and iperf tests. They do get defaulted if not specified however.

@lwr20 lwr20 merged commit dc1f52d into main Apr 16, 2025
3 checks passed
@lwr20 lwr20 deleted the ext-svc-test branch April 16, 2025 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants