datastax / cstar_perf

Apache Cassandra performance testing platform
Apache License 2.0
72 stars 34 forks source link

SSH onto node before executing cqlsh commands #168

Closed nastra closed 8 years ago

nastra commented 8 years ago

The problem with the existing approach of how to run cqlsh is that cqlsh would be executed itself on the node hosting the cstar_perf backend and just provide an IP parameter for connecting to nodeX. This would cause problems if the C* version installed on the cstar_perf backend node would be much older than on the perf test nodes and you might end up running into an error such as the following:

"output": [
                "Connection error: ('Unable to connect to any servers', {'10.200.162.76': ProtocolError(\"cql_version '3.2.1' is not supported by remote (w/ native protocol). Supported versions: [u'3.4.0']\",)})", 
                ""
            ], 
            "revision": "5.0.0", 
            "start_date": "2016-01-18T12:08:08.704220", 
            "test": "1_cqlsh", 
            "type": "cqlsh"

In my example I was running DSE 4.8.x (C* 2.1) on the _cstarperf backend and wanted to do a perf test on the test cluster with DSE 5.0.0 (C\ 3.0.x)

I changed the implementation to do the following things:

@aboudreault & @EnigmaCurry can you guys please review?

aboudreault commented 8 years ago

Ryan, can you take a look at this? On Jan 20, 2016 5:50 AM, "Eduard Tudenhöfner" notifications@github.com wrote:

The problem with the existing approach of how to run cqlsh is that cqlsh would be executed itself on the _node hosting the cstarperf backend and just provide an IP parameter for connecting to nodeX. This would cause problems if the C* version installed on the _cstarperf backend node would be much older than on the perf test nodes and you might end up running into an error such as the following:

"output": [ "Connection error: ('Unable to connect to any servers', {'10.200.162.76': ProtocolError(\"cql_version '3.2.1' is not supported by remote (w/ native protocol). Supported versions: [u'3.4.0']\",)})", "" ], "revision": "5.0.0", "start_date": "2016-01-18T12:08:08.704220", "test": "1_cqlsh", "type": "cqlsh"

In my example I was running DSE 4.8.x (C* 2.1) on the _cstarperf backend and wanted to do a perf test on the test cluster with DSE 5.0.0 (C\ 3.0.x)

I changed the implementation to do the following things:

  • SSH onto nodeX
  • launch cqlsh on nodeX by doing cqlsh --no-color nodeX -e "COMMAND1; COMMAND2; ..."
  • return the string result from executing the command (so that code that is using method cqlsh(script, node) doesn't have to deal with any changes

@aboudreault https://github.com/aboudreault & @EnigmaCurry

https://github.com/EnigmaCurry can you guys please review?

You can view, comment on, or merge this pull request online at:

https://github.com/datastax/cstar_perf/pull/168 Commit Summary

  • SSH onto node before executing cqlsh commands

File Changes

Patch Links:

— Reply to this email directly or view it on GitHub https://github.com/datastax/cstar_perf/pull/168.

aboudreault commented 8 years ago

@EnigmaCurry sorry, forgot to ping you with a mention

EnigmaCurry commented 8 years ago

LGTM