Skip to content

Commit

Permalink
275 Added JMX_PORT env var to client commands
Browse files Browse the repository at this point in the history
  • Loading branch information
mike-tr-adamson committed May 7, 2015
1 parent 821fdf3 commit 18265d3
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
19 changes: 18 additions & 1 deletion ccmlib/cmds/node_cmds.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def node_cmds():
"nodetool",
"dsetool",
"setworkload",
"dse",
"hadoop",
"hive",
"pig",
Expand Down Expand Up @@ -621,6 +622,22 @@ def run(self):
print_(str(e), file=sys.stderr)
exit(1)

class NodeDseCmd(Cmd):
def description(self):
return "Launch a dse client application connected to this node"

def get_parser(self):
usage = "usage: ccm node_name dse [dse_options]"
parser = self._get_default_parser(usage, self.description(), ignore_unknown_options=True)
return parser

def validate(self, parser, options, args):
Cmd.validate(self, parser, options, args, node_name=True, load_cluster=True)
self.dse_options = args[1:] + parser.get_ignored()

def run(self):
self.node.dse(self.dse_options)

class NodeHadoopCmd(Cmd):
def description(self):
return "Launch a hadoop session connected to this node"
Expand Down Expand Up @@ -648,7 +665,7 @@ def get_parser(self):

def validate(self, parser, options, args):
Cmd.validate(self, parser, options, args, node_name=True, load_cluster=True)
self.hive_options = parser.get_ignored() + args[1:]
self.hive_options = args[1:] + parser.get_ignored()

def run(self):
self.node.hive(self.hive_options)
Expand Down
14 changes: 14 additions & 0 deletions ccmlib/dse_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,18 @@ def dsetool(self, cmd):
p = subprocess.Popen(args, env=env)
p.wait()

def dse(self, dse_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse]
args += dse_options
p = subprocess.Popen(args, env=env)
p.wait()

def hadoop(self, hadoop_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse, 'hadoop']
args += hadoop_options
Expand All @@ -207,6 +217,7 @@ def hadoop(self, hadoop_options=[]):

def hive(self, hive_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse, 'hive']
args += hive_options
Expand All @@ -215,6 +226,7 @@ def hive(self, hive_options=[]):

def pig(self, pig_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse, 'pig']
args += pig_options
Expand All @@ -223,6 +235,7 @@ def pig(self, pig_options=[]):

def sqoop(self, sqoop_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse, 'sqoop']
args += sqoop_options
Expand All @@ -231,6 +244,7 @@ def sqoop(self, sqoop_options=[]):

def spark(self, spark_options=[]):
env = common.make_dse_env(self.get_install_dir(), self.get_path())
env['JMX_PORT'] = self.jmx_port
dse = common.join_bin(self.get_install_dir(), 'bin', 'dse')
args = [dse, 'spark']
args += spark_options
Expand Down
3 changes: 3 additions & 0 deletions ccmlib/node.py
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,9 @@ def nodetool(self, cmd, capture_output=False):
def dsetool(self, cmd):
raise common.ArgumentError('Cassandra nodes do not support dsetool')

def dse(self, dse_options=[]):
raise common.ArgumentError('Cassandra nodes do not support dse')

def hadoop(self, hadoop_options=[]):
raise common.ArgumentError('Cassandra nodes do not support hadoop')

Expand Down

0 comments on commit 18265d3

Please sign in to comment.