cloud-bulldozer / benchmark-operator

The Chuck Norris of cloud benchmarks
Apache License 2.0
282 stars 127 forks source link

iPerf: client pod failure on ipv6 traffic required for dual-stack cluster #814

Closed elenagerman closed 1 year ago

elenagerman commented 1 year ago

Describe the bug In the case of a dual-stack cluster, when ipv6 traffic is required, and even the '-6' option is provided, the 'iperf3 -c ' command will always use an ipv4 address. The openshift preference in the case of dual-stack is always ipv4. And this is a reason the server pod will always have ipv4 as a main pod address (podIP value).

As a result, when '-6' option is used in this case and 'iperf3 -c ' will run to the ipv4 address, the pod execution fails.

To Reproduce Steps to reproduce the behavior:

  1. Deploy dual-stack cluster
  2. apply this benchmark: `

apiVersion: ripsaw.cloudbulldozer.io/v1alpha1 kind: Benchmark metadata: name: iperf3-benchmark-iperf3 namespace: benchmark-operator spec: uuid: "3ac4f6c1-69f3-469d-aa9f-a81382a77007" elasticsearch: url: 'localhost' clustername: kni-qe-3 metadata: collection: true privileged: true serviceaccount: 'benchmark-operator' targeted: false workload: name: iperf3 args: image: "registry.kni-qe-3.lab.eng.rdu2.redhat.com:5000/cloud-bulldozer/iperf3:latest" run_id: "100056" pair: 1 port: 60001 transmit_type: time transmit_value: 100 length_buffer: 500 streams: 1 extra_options_client: '-u -b 0 -6 -J -V' pin: true pin_server: "openshift-worker-3.kni-qe-3.lab.eng.rdu2.redhat.com" pin_client: "openshift-worker-2.kni-qe-3.lab.eng.rdu2.redhat.com"

`

  1. wait until client pod failure
  2. oc describe client pod to see 'iperf3 -c addr' was used

Expected behavior option to run iPerf ipv6 traffic on dual-stack cluster

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

elenagerman commented 1 year ago

maybe possible solution: https://github.com/cloud-bulldozer/benchmark-operator/pull/815

elenagerman commented 1 year ago

Thanks a lot!