コード例 #1
0
 def cutover(self, dmd):
     db = ZenDB.ZenDB('zep', useAdmin=True)
     sql_cmd = textwrap.dedent('''
         GRANT SELECT ON mysql.proc TO '{zep-user}'@'{zep-host}';
         GRANT SELECT ON mysql.proc TO '{zep-user}'@'%';
         FLUSH PRIVILEGES;
     ''')
     d = GlobalConfig.globalConfToDict()
     db.executeSql(sql_cmd.format(**d))
コード例 #2
0
 def cutover(self, dmd):
     db = ZenDB.ZenDB('zep', useAdmin=True)
     sql_cmd = textwrap.dedent('''
         GRANT SELECT ON mysql.proc TO '{zep-user}'@'{zep-host}';
         GRANT SELECT ON mysql.proc TO '{zep-user}'@'%';
         FLUSH PRIVILEGES;
     ''')
     d = GlobalConfig.globalConfToDict()
     db.executeSql(sql_cmd.format(**d))
コード例 #3
0
def _getPreferedIpVersion():
    """
    Determine the preferred ip version for DNS resolution.
    """
    PREFERRED_IP_KEY = 'preferredipversion'
    from Products.ZenUtils import GlobalConfig
    globalConf = GlobalConfig.getGlobalConfiguration()
    if PREFERRED_IP_KEY in globalConf:
        version = globalConf[PREFERRED_IP_KEY]
        if version.lower() == IPV4_ADDR_TYPE.lower():
            return socket.AF_INET
        elif version.lower() == IPV6_ADDR_TYPE.lower():
            return socket.AF_INET6
        else:
            import sys
            print >> sys.stderr, 'unknown preferredipversion %s in global.conf' % version

    return None  # use the system default, overrideable in /etc/gai.conf
コード例 #4
0
ファイル: IpUtil.py プロジェクト: zenoss/zenoss-prodbin
def _getPreferedIpVersion():
    """
    Determine the preferred ip version for DNS resolution.
    """
    PREFERRED_IP_KEY = 'preferredipversion'
    from Products.ZenUtils import GlobalConfig 
    globalConf = GlobalConfig.getGlobalConfiguration()
    if PREFERRED_IP_KEY in globalConf:
        version = globalConf[PREFERRED_IP_KEY]
        if version.lower() == IPV4_ADDR_TYPE.lower():
            return socket.AF_INET
        elif version.lower() == IPV6_ADDR_TYPE.lower():
            return socket.AF_INET6
        else:
            import sys
            print >> sys.stderr, 'unknown preferredipversion %s in global.conf' % version
            
    return None  # use the system default, overrideable in /etc/gai.conf
コード例 #5
0
    def cutover(self, dmd):
        conf = GlobalConfig.globalConfToDict()
        host = conf.get('zodb-host')
        port = conf.get('zodb-port')
        user = conf.get('zodb-user')
        passwd = conf.get('zodb-password')
        zodb = conf.get('zodb-db', 'zodb')
        zodb_session = zodb + "_session"

        def zendb(dbname, sql):
            env = os.environ.copy()
            env['MYSQL_PWD'] = passwd
            cmd = [
                'mysql', '--skip-column-names',
                '--user=%s' % user,
                '--host=%s' % host,
                '--port=%s' % port,
                '--database=%s' % dbname
            ]
            s = Popen(cmd, env=env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
            try:
                stdout, stderr = s.communicate(sql)
                rc = s.wait()
                if rc:
                    log.error("Error executing mysql: %s %s\n" %
                              (stdout, stderr))
                else:
                    return (stdout, stderr)
            except KeyboardInterrupt:
                subprocess.call('stty sane', shell=True)
                s.kill()

        for db in [zodb, zodb_session]:

            getEngine = "SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '%s' AND table_name = 'connection_info' and engine != 'InnoDB'" % db
            change_engine = "ALTER TABLE connection_info ENGINE=InnoDB"

            log.info("Checking engine of the connection_info table in %s." %
                     db)
            stdout, stderr = zendb(db, getEngine)
            if stdout and int(stdout) > 0:
                log.info("Changing engine of connection_info to InnoDB in %s" %
                         db)
                stdout, stderr = zendb(db, change_engine)
コード例 #6
0
    def cutover(self, dmd):
        conf = GlobalConfig.globalConfToDict()
        host = conf.get('zodb-host')
        port = conf.get('zodb-port')
        user = conf.get('zodb-user')
        passwd = conf.get('zodb-password')
        zodb = conf.get('zodb-db','zodb')
        zodb_session = zodb + "_session"

        def zendb(dbname, sql):
             env = os.environ.copy()
             env['MYSQL_PWD'] = passwd
             cmd = ['mysql',
               '--skip-column-names',
               '--user=%s' % user,
               '--host=%s' % host,
               '--port=%s' % port,
               '--database=%s' % dbname]
             s = Popen(cmd, env=env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
             try:
                 stdout, stderr = s.communicate(sql)
                 rc = s.wait()
                 if rc:
                     log.error("Error executing mysql: %s %s\n" % (stdout, stderr))
                 else:
                     return (stdout, stderr)
             except KeyboardInterrupt:
                 subprocess.call('stty sane', shell=True)
                 s.kill()

        for db in [zodb, zodb_session]:

            getEngine = "SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '%s' AND table_name = 'connection_info' and engine != 'InnoDB'" % db
            change_engine = "ALTER TABLE connection_info ENGINE=InnoDB"

            log.info("Checking engine of the connection_info table in %s." % db)
            stdout, stderr = zendb(db, getEngine)
            if stdout and int(stdout) > 0:
                   log.info("Changing engine of connection_info to InnoDB in %s" % db)
                   stdout, stderr = zendb(db, change_engine)
コード例 #7
0
    master_info['diskstats']['diskutil'] = ftemp[len(ftemp) - 1]
    for info in [
            'name', 'type', 'size', 'used', 'available', 'iowait', 'diskutil'
    ]:
        value = master_info['diskstats'][info]
        out.write("  * " + info.title() + ":  " + str(value) + "\n")
except Exception as ex:
    out.write("    Unable to retrieve information for this section: %s\n" %
              ex.message)
out.write("\n\n")

# Try to get memcached information
out.write("* Memcached Information\n\n")
try:
    master_info['memcached'] = {}
    gc = GlobalConfig.getGlobalConfiguration()
    if 'zodb-cacheservers' in gc:
        # In 4.2.X, config property is zodb-cacheservers
        cacheserver = gc.get('zodb-cacheservers')
    else:
        # In 4.1.X, config property is cacheservers
        cacheserver = gc.get('cacheservers')
    cmd = "memcached-tool " + cacheserver + " stats"
    memcoutput = executeLocalCommand(cmd)
    memcinfo = processMemcacheInfo(memcoutput)
    for info in [
            'Maximum Size', 'Current Size', 'Current Connections', 'Evictions'
    ]:
        value = memcinfo[info]
        out.write("  * " + info + ":  " + str(value) + "\n")
        master_info['memcached'][info] = value