1

I'm trying to start JMeter from Yandex.Tank in Yandex Cloud instance, based on Ubuntu 18.
Installed JMeter here: /home/tank/apache-jmeter-5.2.1/bin/jmeter
If I run JMeter using this path it starts successfully:
/home/tank/apache-jmeter-5.2.1/bin/jmeter -n -t ReloadTest.jmx -l result-1.jtl -e -o ./result-1

When I run yandex-tank, there is an error message:

[ERROR] Test interrupted:
<type 'exceptions.RuntimeError'>: Unable to access to JMeter executable file or it does not exist: 
/home/tank/apache-jmeter-5.2.1/bin/jmeter

load.yaml:

phantom:
  enabled: false
jmeter:
  enabled: true
  jmx: ReloadTest.jmx
  buffered_seconds: 10
  jmeter_path: /home/tank/apache-jmeter-5.2.1/bin/jmeter
  jmeter_ver: 5.2
  ext_log: all
overload:
  enabled: true
  package: yandextank.plugins.DataUploader
  token_file: "token.txt"

Tried this, without success:

chmod +x /home/tank/apache-jmeter-5.2.1/bin/jmeter
chmod 777 /home/tank/apache-jmeter-5.2.1/bin/jmeter
Vadim Yangunaev
  • 1,817
  • 1
  • 18
  • 41

1 Answers1

0

I cannot reproduce your issue using latest YandexTank 1.12.8.1, you might want to update your current installation using pip like:

pip install https://api.github.com/repos/yandex/yandex-tank/tarball/master

If will still be experiencing problems - run YandexTank with -v command-line argument, it should produce more verbose debug messages so you will be able to figure out where the problem lives

2020-03-16 09:45:38,960 [DEBUG] yandextank.core.tankcore tankcore.py:267        Starting <yandextank.plugins.JMeter.plugin.Plugin object at 0x7fe01d57a090>
2020-03-16 09:45:38,968 [INFO] yandextank.plugins.JMeter.plugin plugin.py:119   Starting /home/tank/apache-jmeter-5.2.1/bin/jmeter with arguments: ['/home/tank/apache-jmeter-5.2.1/bin/jmeter', '-n', '-t', '/modified_s7ZsHU.jmx', '-j', '/logs/2020-03-16_09-45-22.748390/jmeter_0vPrFi.log', '-Jjmeter.save.saveservice.default_delimiter=\\t', '-Jjmeter.save.saveservice.connect_time=true']
2020-03-16 09:45:50,632 [WARNING] yandextank.plugins.JMeter.plugin plugin.py:188        JMeter UDP port wasn't discovered
2020-03-16 09:45:50,635 [INFO] yandextank.core.tankcore tankcore.py:271 Plugin <yandextank.plugins.JMeter.plugin.Plugin object at 0x7fe01d57a090> required 11.666250 seconds to start
2020-03-16 09:45:50,637 [DEBUG] yandextank.core.tankcore tankcore.py:267        Starting <yandextank.plugins.RCAssert.plugin.Plugin object at 0x7fe01d5059d0>
2020-03-16 09:45:50,640 [INFO] yandextank.core.tankcore tankcore.py:271 Plugin <yandextank.plugins.RCAssert.plugin.Plugin object at 0x7fe01d5059d0> required 0.000021 seconds to start
2020-03-16 09:45:50,647 [DEBUG] yandextank.core.tankcore tankcore.py:267        Starting <yandextank.plugins.Telegraf.plugin.Plugin object at 0x7fe01d505110>
2020-03-16 09:45:50,650 [DEBUG] yandextank.plugins.Telegraf.plugin plugin.py:62 load_start_time = 1584351950.65
2020-03-16 09:45:50,655 [INFO] yandextank.core.tankcore tankcore.py:271 Plugin <yandextank.plugins.Telegraf.plugin.Plugin object at 0x7fe01d505110> required 0.005424 seconds to start
2020-03-16 09:45:50,659 [DEBUG] yandextank.core.tankcore tankcore.py:267        Starting <yandextank.plugins.ResourceCheck.plugin.Plugin object at 0x7fe01d505c50>
2020-03-16 09:45:50,664 [INFO] yandextank.core.tankcore tankcore.py:271 Plugin <yandextank.plugins.ResourceCheck.plugin.Plugin object at 0x7fe01d505c50> required 0.000014 seconds to start
2020-03-16 09:45:50,666 [INFO] yandextank.core.tankcore tankcore.py:279 Waiting for test to finish...

You can also try to change the ownership of the whole JMeter folder to the tank user like:

chown -R tank /home/tank/apache-jmeter-5.2.1

And finally, you can consider switching to Taurus tool which better supports JMeter and is capable of automatically downloading JMeter with plugins so you won't have to worry about installing JMeter. Check out Navigating your First Steps Using Taurus article for more details.

Dmitri T
  • 159,985
  • 5
  • 83
  • 133