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

support for external server #162

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

venkataanil
Copy link
Contributor

Type of change

  • New feature

Description

This commit allows communication between ocp internal pod and external server. k8s-netperf client pod will use the provided ip address as the destination ip address instead of ocp server pod address. To avoid code complexity, k8s-netperf still deploys all the assets i.e server pod and service etc, however it uses the ip address provided by the user as the destination to send the traffic instead of server pod address.

User has to manually configure the external server with the required k8s-netperf driver.

To communicate with external server which has the ip 44.243.95.221, user can call k8s-netperf like below
k8s-netperf --clean=false --debug --serverIP=44.243.95.221

This commit allows communication between ocp internal pod and external
server. k8s-netperf client pod will use the provided ip address as the
destination ip address instead of ocp server pod address. To avoid code
complexity, k8s-netperf still deploys all the assets i.e server pod and
service etc, however it uses the ip address provided by the user as the
destination to send the traffic instead of server pod address.

User has to manually configure the external server with the required
k8s-netperf driver.

To communicate with external server which has the ip 44.243.95.221,
user can call k8s-netperf like below
k8s-netperf --clean=false --debug --serverIP=44.243.95.221
@capolrik
Copy link
Collaborator

I really like this feature! but I don't like the idea of deploying a unnecessary pod and service, it could confuse the user at then end.
You could add a bool ExternalServer to the PerfScenario struct and then check this boolean in the BuildInfra & BuildSUT functions (pkg/k8s/kubernetes.go) to avoid the unneeded deployment.

@venkataanil
Copy link
Contributor Author

I really like this feature! but I don't like the idea of deploying a unnecessary pod and service, it could confuse the user at then end. You could add a bool ExternalServer to the PerfScenario struct and then check this boolean in the BuildInfra & BuildSUT functions (pkg/k8s/kubernetes.go) to avoid the unneeded deployment.

Thanks, thats a great suggestion. I will work on it.

Only client pod is required during data plane testing with
external server. So k8s-netperf will create only client pod when
running with "--serverIP" flag.
@venkataanil
Copy link
Contributor Author

As suggested, pushed a new commit which avoids deploying server pod and service. Now only client pod is deployed.

@jtaleric
Copy link
Member

Great addition! I need to test the podPath just to make sure nothing got broken there, but used the externalServer option and it worked great! Thanks @venkataanil !!

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