示例#1
0
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))
示例#2
0
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))
示例#3
0
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