def run_direct(command, cl_args, action, extra_args=[], extra_lib_jars=[]):
topology_name = cl_args['<STR_LIT>']<EOL>new_args = [<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", config.get_heron_dir(),<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", cl_args['<STR_LIT>'],<EOL>"<STR_LIT>", config.get_heron_release_file(),<EOL>"<STR_LIT>", topology_name,<EOL>"<STR_LIT>", command,<EOL>]<EOL>new_args += extra_args<EOL>lib_jars = config.get_heron_libs(jars.scheduler_jars() + jars.statemgr_jars())<EOL>lib_jars += extra_lib_jars<EOL>if Log.getEffectiveLevel() == logging.DEBUG:<EOL><INDENT>new_args.append("<STR_LIT>")<EOL><DEDENT>result = execute.heron_class(<EOL>'<STR_LIT>',<EOL>lib_jars,<EOL>extra_jars=[],<EOL>args=new_args<EOL>)<EOL>err_msg = "<STR_LIT>" % (action, topology_name)<EOL>succ_msg = "<STR_LIT>" % (action, topology_name)<EOL>result.add_context(err_msg, succ_msg)<EOL>return result<EOL>
helper function to take action on topologies
:param command:
:param cl_args:
:param action:        description of action taken
:return: