tohojo / flent

The FLExible Network Tester.
https://flent.org
Other
431 stars 77 forks source link

No suitable Iperf binary Found #171

Open dignacioconde opened 5 years ago

dignacioconde commented 5 years ago

root@n1:/tmp/pycore.50542/n1.conf# flent -H 10.0.0.21 udp_flood --debug-error Started Flent 1.3.0 using Python 3.6.8. Starting udp_flood test. Expected run time: 70 seconds. WARNING: Found iperf binary (), but it does not have an --enhancedreports option. Not using. ERROR: Runner UDP upload failed check: No suitable Iperf binary found. Traceback (most recent call last): File "/usr/share/flent/flent/aggregators.py", line 121, in collect t.check() File "/usr/share/flent/flent/runners.py", line 1457, in check marking=self.marking) File "/usr/share/flent/flent/runners.py", line 1503, in find_binary raise RunnerCheckError("No suitable Iperf binary found.") flent.runners.RunnerCheckError: No suitable Iperf binary found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/share/flent/flent/init.py", line 59, in run_flent b.run() File "/usr/share/flent/flent/batch.py", line 617, in run return self.run_test(self.settings, self.settings.DATA_DIR, True) File "/usr/share/flent/flent/batch.py", line 515, in run_test res = self.agg.postprocess(self.agg.aggregate(res)) File "/usr/share/flent/flent/aggregators.py", line 233, in aggregate measurements, metadata, raw_values = self.collect() File "/usr/share/flent/flent/aggregators.py", line 123, in collect raise RuntimeError("Runner %s failed check: %s" % (n, e)) RuntimeError: Runner UDP upload failed check: No suitable Iperf binary found.

I though it was because of the binary name, it was iperf3 so i renamed it to iperf but it seems Flent needs iperf 2? It's the one that has --enhancedreports option.

tohojo commented 5 years ago

dignacioconde notifications@github.com writes:

root@n1:/tmp/pycore.50542/n1.conf# flent -H 10.0.0.21 udp_flood --debug-error Started Flent 1.3.0 using Python 3.6.8. Starting udp_flood test. Expected run time: 70 seconds. WARNING: Found iperf binary (), but it does not have an --enhancedreports option. Not using. ERROR: Runner UDP upload failed check: No suitable Iperf binary found. Traceback (most recent call last): File "/usr/share/flent/flent/aggregators.py", line 121, in collect t.check() File "/usr/share/flent/flent/runners.py", line 1457, in check marking=self.marking) File "/usr/share/flent/flent/runners.py", line 1503, in find_binary raise RunnerCheckError("No suitable Iperf binary found.") flent.runners.RunnerCheckError: No suitable Iperf binary found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/share/flent/flent/init.py", line 59, in run_flent b.run() File "/usr/share/flent/flent/batch.py", line 617, in run return self.run_test(self.settings, self.settings.DATA_DIR, True) File "/usr/share/flent/flent/batch.py", line 515, in run_test res = self.agg.postprocess(self.agg.aggregate(res)) File "/usr/share/flent/flent/aggregators.py", line 233, in aggregate measurements, metadata, raw_values = self.collect() File "/usr/share/flent/flent/aggregators.py", line 123, in collect raise RuntimeError("Runner %s failed check: %s" % (n, e)) RuntimeError: Runner UDP upload failed check: No suitable Iperf binary found.

I though it was because of the binary name, it was iperf3 so i renamed it to iperf but it seems Flent needs iperf 2? It's the one that has --enhancedreports option.

Yup, indeed, you'll need iperf2 :)

semaphor commented 10 months ago

I ran into the presumably same problem on an up to date Debian 12 "bookworm" and Ubuntu 22.04.3. See output below.

I assume iperf is called with --enhancedreports. However, this option seems to have been renamed, looking at the announcement for iperf 2.0.13 [1] and e.g. current man pages for iperf 2.1.8 on Debian "bookworm" [2] or iperf2 istself [3], in which it is named -e, --enhanced.

[1] https://netbeez.net/blog/linux-iperf-2-release/ [2] https://manpages.debian.org/bookworm/iperf/iperf.1.en.html [3] https://iperf2.sourceforge.io/iperf-manpage.html

ruth@egg3:~$ cat /etc/issue
Debian GNU/Linux 12 \n \l

ruth@egg3:~$ flent --version
Starting Flent 2.1.1 using Python 3.11.2.
Flent v2.1.1.
Running on Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0].
Using matplotlib version 3.6.3 on numpy 1.24.2.
Using Qt: pyqt5 v5.15.8.

ruth@egg3:~$ iperf --version
iperf version 2.1.8 (12 August 2022) pthreads

ruth@egg3:~$ flent udp_flood -H localhost --debug-error
Starting Flent 2.1.1 using Python 3.11.2.
Starting udp_flood test. Expected run time: 70 seconds.
WARNING: Found iperf binary (iperf version 2.1.8 (12 August 2022) pthreads), but it does not have an --enhancedreports option. Not using.
ERROR: Runner UDP upload failed check: No suitable Iperf binary found.
Traceback (most recent call last):
  File "/usr/share/flent/flent/aggregators.py", line 184, in collect
    t.check()
  File "/usr/share/flent/flent/runners.py", line 1574, in check
    self.command = self.find_binary(self.host, self.interval, self.length,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/flent/flent/runners.py", line 1620, in find_binary
    raise RunnerCheckError("No suitable Iperf binary found.")
flent.runners.RunnerCheckError: No suitable Iperf binary found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/flent/flent/__init__.py", line 60, in run_flent
    b.run()
  File "/usr/share/flent/flent/batch.py", line 620, in run
    return self.run_test(self.settings, self.settings.DATA_DIR, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/flent/flent/batch.py", line 519, in run_test
    res = agg.postprocess(agg.aggregate(res))
                          ^^^^^^^^^^^^^^^^^^
  File "/usr/share/flent/flent/aggregators.py", line 337, in aggregate
    measurements, metadata, raw_values = self.collect()
                                         ^^^^^^^^^^^^^^
  File "/usr/share/flent/flent/aggregators.py", line 186, in collect
    raise RuntimeError("Runner %s failed check: %s" % (n, e))
RuntimeError: Runner UDP upload failed check: No suitable Iperf binary found.
simon@snap:~/flent$ cat /etc/issue
Ubuntu 22.04.3 LTS \n \l

simon@snap:~/flent$ flent --version
Starting Flent 2.0.1 using Python 3.10.12.
Flent v2.0.1.
Running on Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0].
Using matplotlib version 3.5.1 on numpy 1.21.5.
Using Qt: pyqt5 v5.15.3.

simon@snap:~/flent$ iperf --version
iperf version 2.1.5 (3 December 2021) pthreads

simon@snap:~/flent$ flent udp_flood -H localhost --debug-error
Starting Flent 2.0.1 using Python 3.10.12.
Starting udp_flood test. Expected run time: 70 seconds.
WARNING: Found iperf binary (iperf version 2.1.5 (3 December 2021) pthreads), but it does not have an --enhancedreports option. Not using.
ERROR: Runner UDP upload failed check: No suitable Iperf binary found.
Traceback (most recent call last):
  File "/usr/share/flent/flent/aggregators.py", line 123, in collect
    t.check()
  File "/usr/share/flent/flent/runners.py", line 1506, in check
    self.command = self.find_binary(self.host, self.interval, self.length,
  File "/usr/share/flent/flent/runners.py", line 1552, in find_binary
    raise RunnerCheckError("No suitable Iperf binary found.")
flent.runners.RunnerCheckError: No suitable Iperf binary found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/flent/flent/__init__.py", line 60, in run_flent
    b.run()
  File "/usr/share/flent/flent/batch.py", line 618, in run
    return self.run_test(self.settings, self.settings.DATA_DIR, True)
  File "/usr/share/flent/flent/batch.py", line 515, in run_test
    res = self.agg.postprocess(self.agg.aggregate(res))
  File "/usr/share/flent/flent/aggregators.py", line 237, in aggregate
    measurements, metadata, raw_values = self.collect()
  File "/usr/share/flent/flent/aggregators.py", line 125, in collect
    raise RuntimeError("Runner %s failed check: %s" % (n, e))
RuntimeError: Runner UDP upload failed check: No suitable Iperf binary found.
luisglass commented 3 months ago

Is it better to grab flent from the repo? I noticed in Ubuntu 24.04, the flent package version 2.1.1 doesn't include the fix for the iperf --enhancedreports to --enhanced change.

Flent v2.1.1. Running on Python 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0]. Using matplotlib version 3.6.3 on numpy 1.26.4. Using Qt: pyqt5 v5.15.13. iperf version 2.1.9 (14 March 2023) pthreads

tohojo commented 3 months ago

luisglass @.***> writes:

Is it better to grab flent from the repo? I noticed in Ubuntu 24.04, the flent package version 2.1.1 doesn't include the fix for the iperf --enhancedreports to --enhanced change.

Well, ATM the git version contains fixes that the release version doesn't, so yeah, if you need those fixes, use the version from the repository :)