def gsql_exec(sqlcmd): logger = logging.getLogger(LOGGER_NAME) try: try: if not len(sqlcmd) > 0: throws("Missing sqlcmd in gsql_exec") logger.debug("running gerrit sql : " + str(sqlcmd)) java_bin = find_java() logger.debug('using java_bin : %s' % java_bin) gerrit_war = find_gerritwar() logger.debug('using gerrit_war : %s' % gerrit_war) gerrit_site = find_gerritsite() logger.debug('using gerrit_site : %s' % gerrit_site) # example # /usr/bin/java -jar /home/gerrit2/review_site/bin/gerrit.war gsql -d /home/gerrit2/review_site -c 'show tables' results = exec_cmd(java_bin, ["-jar", gerrit_war, "gsql", "-d", gerrit_site, "-c", "" + sqlcmd + ""]) if results.upper().rstrip('\n').find('ERROR') >= 0: throws("gerrit sql command found errors in results : " + results) return (0, results) except Exception, err: logger.error('failed to run gsql_exec : ' + str(sqlcmd)) logger.error(str(err)) return (1, str(err)) finally: logger.debug("finished gsql_exec : " + str(sqlcmd))
def gsql_exec(sqlcmd): logger = logging.getLogger(LOGGER_NAME) try: try: if sqlcmd == None: throws("sqlcmd can't be None") if not len(sqlcmd) > 0: throws("Missing sqlcmd in gsql_exec") logger.info("running gerrit sql : " + str(sqlcmd)) java_bin = find_java() logger.debug('using java_bin : %s' % java_bin) gerrit_war = find_gerritwar() logger.debug('using gerrit_war : %s' % gerrit_war) gerrit_site = find_gerritsite() logger.debug('using gerrit_site : %s' % gerrit_site) # example # /usr/bin/java -jar /home/gerrit2/review_site/bin/gerrit.war gsql -d /home/gerrit2/review_site -c 'show tables' --format JSON results = exec_cmd(java_bin, [ "-jar", gerrit_war, "gsql", "-d", gerrit_site, "-c", "" + sqlcmd + "", "--format", "JSON" ]) if results.upper().find('ERROR') >= 0: throws("gerrit sql command found errors in results : " + results) return (0, results) except Exception, err: banner_log("Script failed to process gsql: " + str(sqlcmd)) logger.error('failed to run gsql_exec : ' + str(err)) return (1, str(err)) finally: logger.debug("finished gsql_exec : " + str(sqlcmd))
def scan_host_key(hostname, port): logger = logging.getLogger(LOGGER_NAME) ip_address = get_ip_from_host(hostname) logger.debug(ip_address) f = tempfile.NamedTemporaryFile() logger.debug('working with file ' + str(f.name)) if ip_address != hostname: logger.debug("writing " + hostname) f.write(hostname + '\n') f.write(ip_address + '\n') f.flush() f.close # ssh-keyscan -4 -t ecdsa -f ./keyhost.txt -p \$_port logger.debug(exec_cmd(which('bash'), ['-c', 'cat ' + f.name])) res = exec_cmd(which('ssh-keyscan'), ['-4', '-t', 'rsa', '-f', f.name, '-p', str(port)], '/tmp', True) logger.debug(res) # os.unlink(f.name) return res