Exemplo n.º 1
0
def check_rabbitmq():
    # node role check
    if not NODE_ROLE.is_fuel():
        if not NODE_ROLE.is_controller():
            LOG.warn('This command can only run on fuel or controller node !')
            return
    if NODE_ROLE.is_fuel():
        check_all_nodes('rabbitmq')
        return
    LOG.info('%s%s Checking rabbitmq cluster status' %('='*5, '>'))
    # get all controller node hostname
    controllers = get_controllers_hostname()
    if controllers is None:
        LOG.error('Can not get the controllers node list !')
        return
    # get masters & slaves node list
    running_nodes = get_rabbitmq_nodes()
    if running_nodes is None:
        LOG.error('Can not get the running node list for rabbitmq cluster !')
        return
    # check all controller nodes in masters + slaves node list
    error_nodes = []
    for node in controllers:
        if node.split('.')[0] not in running_nodes:
            error_nodes.append(node)

    if error_nodes:
        LOG.error('Node %s not in rabbitmq cluster !' % error_nodes)
        LOG.error('Rabbitmq cluster check faild !')
    else:
        LOG.info('Rabbitmq cluster check successfully !')
Exemplo n.º 2
0
def check_mysql():
    # node role check
    if not NODE_ROLE.is_fuel():
        if not NODE_ROLE.is_controller():
            LOG.warn('This command can only run on fuel or controller node !')
            return
    if NODE_ROLE.is_fuel():
        check_all_nodes('mysql')
        return
    LOG.info('%s%s Checking mysql cluster status' %('='*5, '>'))
    # get running node list for mysql cluster
    running_nodes = get_mysql_nodes()
    if running_nodes is None:
        LOG.error('Can not get the running node list for mysql cluster !')
        return
    # get all controller node hostname
    controllers = get_controllers_hostname()
    if controllers is None:
        LOG.error('Can not get the controllers node list !')
        return
    # check all controller node in mysql cluster
    error_nodes = []
    for node in controllers:
        if node not in running_nodes:
            error_nodes.append(node)

    if error_nodes:
        LOG.error('Node %s is not running in mysql cluster !' % error_nodes)
        LOG.error('Mysql cluster check faild !')
    else:
        LOG.info('Mysql cluster check successfully !')
Exemplo n.º 3
0
def check_mysql():
    # node role check
    if not NODE_ROLE.is_fuel():
        if not NODE_ROLE.is_controller():
            LOG.warn('This command can only run on fuel or controller node !')
            return
    if NODE_ROLE.is_fuel():
        check_all_nodes('mysql')
        return
    LOG.info('%s%s Checking mysql cluster status' % ('=' * 5, '>'))
    # get running node list for mysql cluster
    running_nodes = get_mysql_nodes()
    if running_nodes is None:
        LOG.error('Can not get the running node list for mysql cluster !')
        return
    # get all controller node hostname
    controllers = get_controllers_hostname()
    if controllers is None:
        LOG.error('Can not get the controllers node list !')
        return
    # check all controller node in mysql cluster
    error_nodes = []
    for node in controllers:
        if node not in running_nodes:
            error_nodes.append(node)

    if error_nodes:
        LOG.error('Node %s is not running in mysql cluster !' % error_nodes)
        LOG.error('Mysql cluster check faild !')
    else:
        LOG.info('Mysql cluster check successfully !')
Exemplo n.º 4
0
def check_rabbitmq():
    # node role check
    if not NODE_ROLE.is_fuel():
        if not NODE_ROLE.is_controller():
            LOG.warn('This command can only run on fuel or controller node !')
            return
    if NODE_ROLE.is_fuel():
        check_all_nodes('rabbitmq')
        return
    LOG.info('%s%s Checking rabbitmq cluster status' % ('=' * 5, '>'))
    # get all controller node hostname
    controllers = get_controllers_hostname()
    if controllers is None:
        LOG.error('Can not get the controllers node list !')
        return
    # get masters & slaves node list
    running_nodes = get_rabbitmq_nodes()
    if running_nodes is None:
        LOG.error('Can not get the running node list for rabbitmq cluster !')
        return
    # check all controller nodes in masters + slaves node list
    error_nodes = []
    for node in controllers:
        if node.split('.')[0] not in running_nodes:
            error_nodes.append(node)

    if error_nodes:
        LOG.error('Node %s not in rabbitmq cluster !' % error_nodes)
        LOG.error('Rabbitmq cluster check faild !')
    else:
        LOG.info('Rabbitmq cluster check successfully !')
Exemplo n.º 5
0
def check_all():
    check_cmd = get_check_cmd()
    if NODE_ROLE.is_fuel():
        controllers = get_controllers_hostname()
        if controllers:
            controller_node = controllers[0]
            result = run_doctor_cmd_on_node('controller', controller_node,
                                            check_cmd)
            logging.disable(logging.NOTSET)
            LOG.info(result, remote=True)
        else:
            LOG.error('Can not get controller node list')
    elif NODE_ROLE.is_controller():
        print run_command(check_cmd)
Exemplo n.º 6
0
def check_crm_resource_status():
    controllers = get_controllers_hostname()
    resource_list = get_crm_resource_list()
    for (resource, t) in resource_list:
        running_nodes = get_crm_resource_running_nodes(resource)
        if running_nodes is not None:
            if t == 'cp':
                error_nodes = []
                for node in controllers:
                    if node not in running_nodes:
                        error_nodes.append(node)
                if error_nodes:
                    LOG.error('Resource %s does not running on node %s !' % (resource, error_nodes))
                else:
                    LOG.info('Resource %s check successfully !' % resource)
            else:
                LOG.info('Resource %s check successfully !' % resource)
        else:
            LOG.error('Resource %s does not running on any node !' % resource)
Exemplo n.º 7
0
def check_crm_resource_status():
    controllers = get_controllers_hostname()
    resource_list = get_crm_resource_list()
    for (resource, t) in resource_list:
        running_nodes = get_crm_resource_running_nodes(resource)
        if running_nodes is not None:
            if t == 'cp':
                error_nodes = []
                for node in controllers:
                    if node not in running_nodes:
                        error_nodes.append(node)
                if error_nodes:
                    LOG.error('Resource %s does not running on node %s !' %
                              (resource, error_nodes))
                else:
                    LOG.info('Resource %s check successfully !' % resource)
            else:
                LOG.info('Resource %s check successfully !' % resource)
        else:
            LOG.error('Resource %s does not running on any node !' % resource)