group_name -> #idle""")

parser.add_option("-d",
                  "--debug",
                  action="store_true",
                  help="Enable debug mode for logging")
parser.add_option("-l",
                  "--logfile",
                  action="store",
                  default=c.panda_logfile,
                  help="File to log information to ('-' for stderr)")
options, args = parser.parse_args()

loglevel = logging.DEBUG if options.debug else c.log_level

log = setup_logging(options.logfile, backup=3, size_mb=20, level=loglevel)

if not args or len(args) != 1:
    print >> sys.stderr, "Wrong number of arguments!"
    sys.exit(1)

modules = load_module_path(args[0])

if modules is None:
    sys.exit(1)
elif len(modules) < 1:
    log.warning("No modules found to be loaded!")
    sys.exit(0)

log.debug("Loaded %d module(s): %s", len(modules),
          ", ".join(x.__name__ for x in modules))
                      help="Issue a condor_reconfig after a change is detected")
    parser.add_option("-d", "--debug", action="store_true", dest="level", default=False,
                      help="Log more verbosely (DEBUG level)")
    opts, args = parser.parse_args()
    opts.level = logging.DEBUG if opts.level else logging.INFO

    if len(args) != 1:
        parser.error("Need exactly one argument (the config file to write to)")

    return opts, args[0]


if __name__ == '__main__':

    options, quota_file = parse_options()
    log = setup_logging(options.log, backup=2, size_mb=20, level=options.level)

    db_groups = get_db_groups()
    fp_groups = get_file_groups(quota_file)

    if db_groups.full_cmp(fp_groups):
        log.debug('No Database Change...')
        sys.exit(0)

    # Write the DB groups to the file
    overwrite_file(db_groups, quota_file, options.backup)

    changes = fp_groups.get_diff_str(db_groups)
    log.info('Changes made are:')
    for line in changes.split("\n"):
        if line:
#   08/24/15: rewrite for using gq library

import sys
import MySQLdb
import datetime
import subprocess

import gq.config as c
import gq.config.dbconn as db

from gq.group import AbstractGroup
from gq.group.db import _build_groups_db
from gq.log import setup_logging


log = setup_logging(None)


class BusyGroup(AbstractGroup):

    def __init__(self, name):
        super(BusyGroup, self).__init__(name)
        self.busy = 0


def get_condor_groups():
    """ Yield a series of tuples of (group, count) where count is the number
        of cpus (SlotWeight) of that group
    """

    def get_group_from_classad(g):
# CHANGELOG:
#   08/24/15: rewrite for using gq library

import sys
import MySQLdb
import datetime
import subprocess

import gq.config as c
import gq.config.dbconn as db

from gq.group import AbstractGroup
from gq.group.db import _build_groups_db
from gq.log import setup_logging

log = setup_logging(None)


class BusyGroup(AbstractGroup):
    def __init__(self, name):
        super(BusyGroup, self).__init__(name)
        self.busy = 0


def get_condor_groups():
    """ Yield a series of tuples of (group, count) where count is the number
        of cpus (SlotWeight) of that group
    """
    def get_group_from_classad(g):
        return ".".join(g.split("@")[0].split(".")[:-1])
    for group in reversed(list(groups)):
        log.info(group.color_str())

parser = optparse.OptionParser(
    epilog="Script to balance the accept-surplus flag for ATLAS"
)

parser.add_option("-d", "--debug", action="store_true",
                  help="Enable debug mode for logging")
parser.add_option("-l", "--logfile", action="store", default=c.analyze_logfile,
                  help="File to log information to ('-' for stderr)")
options, args = parser.parse_args()

loglevel = logging.DEBUG if options.debug else c.log_level

log = setup_logging(options.logfile, backup=3, size_mb=50, level=loglevel)

field_map = {'group_name': 'name',
             'accept_surplus': 'surplus',
             'surplus_threshold': 'threshold',
             'weight': 'weight'}

if __name__ == "__main__":
    try:
        log.info("===================== START Balance =======================")
        groups = group_db.build_demand_groups_db()
        idle.populate_demand(groups)

        log.info("Current Groups:")
        log_group_tree(groups)
        balance.calculate_surplus(groups)
Example #6
0
                      dest="level",
                      default=False,
                      help="Log more verbosely (DEBUG level)")
    opts, args = parser.parse_args()
    opts.level = logging.DEBUG if opts.level else logging.INFO

    if len(args) != 1:
        parser.error("Need exactly one argument (the config file to write to)")

    return opts, args[0]


if __name__ == '__main__':

    options, quota_file = parse_options()
    log = setup_logging(options.log, backup=2, size_mb=20, level=options.level)

    db_groups = get_db_groups()
    fp_groups = get_file_groups(quota_file)

    if db_groups.full_cmp(fp_groups):
        log.debug('No Database Change...')
        sys.exit(0)

    # Write the DB groups to the file
    overwrite_file(db_groups, quota_file, options.backup)

    changes = fp_groups.get_diff_str(db_groups)
    log.info('Changes made are:')
    for line in changes.split("\n"):
        if line: