Exemplo n.º 1
0
def check_all_nodes(check_obj):
    if check_obj is 'all':
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls --all'
        else:
            check_cmd = 'sudo eayunstack doctor cls --all'
    else:
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls -n %s' % check_obj
        else:
            check_cmd = 'sudo eayunstack doctor cls -n %s' % check_obj
    # get controller node list
    node_list = get_node_list('controller')
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn('Node list is null !')
        return
    else:
        if check_obj == 'ceph':
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            run_doctor_cmd_on_node('controller', ceph_node, check_cmd)
        else:
            (proc_list, pipe) = run_doctor_on_nodes('controller', node_list,
                                                    check_cmd)
            for proc in proc_list:
                proc.join()
            LOG.info(pipe.recv(), remote=True)
Exemplo n.º 2
0
def check_all_nodes(check_obj):
    if check_obj is 'all':
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls --all'
        else:
            check_cmd = 'sudo eayunstack doctor cls --all'
    else:
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls -n %s' % check_obj
        else:
            check_cmd = 'sudo eayunstack doctor cls -n %s' % check_obj
    # get controller node list
    node_list = get_node_list('controller')
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn('Node list is null !')
        return
    else:
        if check_obj == 'ceph':
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            LOG.info('%s Role: %-10s Node: %-13s %s'
                     % ('*'*15, 'controller', ceph_node, '*'*15))
            ssh_connect2(ceph_node, check_cmd)
        else:
            for node in node_list:
                LOG.info('%s Role: %-10s Node: %-13s %s'
                         % ('*'*15, 'controller', node, '*'*15))
                ssh_connect2(node, check_cmd)
Exemplo n.º 3
0
def check_all_nodes(check_obj):
    if check_obj is 'all':
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls --all'
        else:
            check_cmd = 'sudo eayunstack doctor cls --all'
    else:
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls -n %s' % check_obj
        else:
            check_cmd = 'sudo eayunstack doctor cls -n %s' % check_obj
    # get controller node list
    node_list = get_node_list('controller')
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn('Node list is null !')
        return
    else:
        if check_obj == 'ceph':
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            run_doctor_cmd_on_node('controller', ceph_node, check_cmd)
        else:
            nodes = []
            for node in node_list:
                node_info = {}
                node_info['role'] = 'controller'
                node_info['name'] = node
                nodes.append(node_info)
            result = run_doctor_on_nodes(nodes, check_cmd)
            for res in result:
                LOG.info(res, remote=True)
Exemplo n.º 4
0
def check_all_nodes(check_obj):
    if check_obj is 'all':
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls --all'
        else:
            check_cmd = 'sudo eayunstack doctor cls --all'
    else:
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls -n %s' % check_obj
        else:
            check_cmd = 'sudo eayunstack doctor cls -n %s' % check_obj
    # get controller node list
    node_list = get_node_list('controller')
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn('Node list is null !')
        return
    else:
        if check_obj == 'ceph':
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            res = run_doctor_cmd_on_node('controller', ceph_node, check_cmd)
            LOG.info(res, remote=True)
        else:
            nodes = []
            for node in node_list:
                node_info = {}
                node_info['role'] = 'controller'
                node_info['name'] = node
                nodes.append(node_info)
            result = run_doctor_on_nodes(nodes, check_cmd)
            for res in result:
                LOG.info(res, remote=True)
Exemplo n.º 5
0
def check_all_nodes(check_obj):
    if check_obj is 'all':
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls --all'
        else:
            check_cmd = 'sudo eayunstack doctor cls --all'
    else:
        if LOG.enable_debug:
            check_cmd = 'sudo eayunstack --debug doctor cls -n %s' % check_obj
        else:
            check_cmd = 'sudo eayunstack doctor cls -n %s' % check_obj
    # get controller node list
    node_list = get_node_list('controller')
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn('Node list is null !')
        return
    else:
        if check_obj == 'ceph':
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            run_doctor_cmd_on_node('controller', ceph_node, check_cmd)
        else:
            proc_list = run_doctor_on_nodes('controller', node_list, check_cmd)
            for proc in proc_list:
                proc.join()
Exemplo n.º 6
0
def check_all_nodes(check_obj):
    if check_obj is "all":
        if LOG.enable_debug:
            check_cmd = "sudo eayunstack --debug doctor cls --all"
        else:
            check_cmd = "sudo eayunstack doctor cls --all"
    else:
        if LOG.enable_debug:
            check_cmd = "sudo eayunstack --debug doctor cls -n %s" % check_obj
        else:
            check_cmd = "sudo eayunstack doctor cls -n %s" % check_obj
    # get controller node list
    node_list = get_node_list("controller")
    # ssh to all controller node to check obj
    if len(node_list) == 0:
        LOG.warn("Node list is null !")
        return
    else:
        if check_obj == "ceph":
            # only need to check one node for ceph cluster
            ceph_node = node_list[0]
            LOG.info("%s Role: %-10s Node: %-13s %s" % ("*" * 15, "controller", ceph_node, "*" * 15))
            ssh_connect2(ceph_node, check_cmd)
        else:
            for node in node_list:
                LOG.info("%s Role: %-10s Node: %-13s %s" % ("*" * 15, "controller", node, "*" * 15))
                ssh_connect2(node, check_cmd)
Exemplo n.º 7
0
def update():
    '''update eayunstack-tools on all nodes'''
    node_list = get_node_list('all')
    update_cmd = 'yum clean all && yum -y -d 0 update eayunstack-tools'
    results = run_cmd_on_nodes(node_list, update_cmd)
    get_current_version = \
        'rpm --queryformat "%{VERSION} %{RELEASE}" -q eayunstack-tools'
    current_version = run_cmd_on_nodes(node_list, get_current_version)
    correct_version = run_command(
        'rpm --queryformat "%{VERSION} %{RELEASE}" -q eayunstack-tools')

    for node in node_list:
        out = results[node][0]
        err = results[node][1]
        current_ver = current_version[node][0].split(' ')[0] + \
            '-' + current_version[node][0].split(' ')[1].split('.')[0]
        correct_ver = correct_version[0].split(' ')[0] + \
            '-' + correct_version[0].split(' ')[1].split('.')[0]
        if err or current_ver != correct_ver:
            LOG.error('Update on %s failed !' % node)
            LOG.error('Current version: %s' % current_ver)
            for l in err.split('\n'):
                LOG.error(l)
            print
        else:
            LOG.info('Update on %s successfully.' % node)
            LOG.info('Current version: %s' % current_ver)
            print
Exemplo n.º 8
0
def update():
    '''update eayunstack-tools on all nodes'''
    node_list = get_node_list('all')
    update_cmd = 'yum clean all && yum -y -d 0 update eayunstack-tools'
    results = run_cmd_on_nodes(node_list, update_cmd)
    get_current_version = \
        'rpm --queryformat "%{VERSION} %{RELEASE}" -q eayunstack-tools'
    current_version = run_cmd_on_nodes(node_list, get_current_version)
    correct_version = run_command(
        'rpm --queryformat "%{VERSION} %{RELEASE}" -q eayunstack-tools')

    for node in node_list:
        out = results[node][0]
        err = results[node][1]
        current_ver = current_version[node][0].split(' ')[0] + \
            '-' + current_version[node][0].split(' ')[1].split('.')[0]
        correct_ver = correct_version[0].split(' ')[0] + \
            '-' + correct_version[0].split(' ')[1].split('.')[0]
        if err or current_ver != correct_ver:
            LOG.error('Update on %s failed !' % node)
            LOG.error('Current version: %s' % current_ver)
            for l in err.split('\n'):
                LOG.error(l)
            print
        else:
            LOG.info('Update on %s successfully.' % node)
            LOG.info('Current version: %s' % current_ver)
            print
Exemplo n.º 9
0
def check_nodes(obj_name):
   # node_list = get_node_list('all')
    check_cmd = get_check_cmd(obj_name)
    for role in ['controller','compute','mongo','ceph-osd']:
        node_list = get_node_list(role)
        proc_list = run_doctor_on_nodes(role, node_list, check_cmd)
    for proc in proc_list:
        proc.join()
Exemplo n.º 10
0
def check_nodes(obj_name):
   # node_list = get_node_list('all')
    check_cmd = get_check_cmd(obj_name)
    for role in ['controller','compute','mongo','ceph-osd']:
        node_list = get_node_list(role)
        (proc_list, pipe) = run_doctor_on_nodes(role, node_list, check_cmd)
    for proc in proc_list:
        proc.join()
    LOG.info(pipe.recv(), remote=True)
Exemplo n.º 11
0
def check_nodes(obj_name):
    # node_list = get_node_list('all')
    check_cmd = get_check_cmd(obj_name)
    for role in ['controller', 'compute', 'mongo', 'ceph-osd']:
        node_list = get_node_list(role)
        (proc_list, pipe) = run_doctor_on_nodes(role, node_list, check_cmd)
    for proc in proc_list:
        proc.join()
    LOG.info(pipe.recv(), remote=True)
Exemplo n.º 12
0
def check_all():
    '''Check All Environement Object'''
    if NODE_ROLE.is_fuel():
        check_cmd = get_check_cmd('all')
        for role in ['controller','compute','mongo','ceph-osd']:
            node_list = get_node_list(role)
            proc_list = run_doctor_on_nodes(role, node_list, check_cmd)
        for proc in proc_list:
            proc.join()
    else:
        for i in register.all:
            eval(i)()
Exemplo n.º 13
0
def check_nodes(obj_name):
   # node_list = get_node_list('all')
    for role in ['controller','compute','mongo','ceph-osd']:
        node_list = get_node_list(role)
        for node in node_list:
            LOG.info('%s Role: %-10s Node: %-13s %s' % ('*'*15, role, node, '*'*15))
            if LOG.enable_debug:
                out, err = ssh_connect2(node, 'sudo eayunstack --debug doctor env -n %s' % obj_name)
            else:
                out, err = ssh_connect2(node, 'sudo eayunstack doctor env -n %s' % obj_name)

            if err:
                LOG.error('Check failed !')
Exemplo n.º 14
0
def check_nodes(obj_name):
    # node_list = get_node_list('all')
    for role in ["controller", "compute", "mongo", "ceph-osd"]:
        node_list = get_node_list(role)
        for node in node_list:
            LOG.info("%s Role: %-10s Node: %-13s %s" % ("*" * 15, role, node, "*" * 15))
            if LOG.enable_debug:
                out, err = ssh_connect2(node, "sudo eayunstack --debug doctor env -n %s" % obj_name)
            else:
                out, err = ssh_connect2(node, "sudo eayunstack doctor env -n %s" % obj_name)

            if err:
                LOG.error("Check failed !")
Exemplo n.º 15
0
def check_all():
    '''Check All Environement Object'''
    if NODE_ROLE.is_fuel():
        check_cmd = get_check_cmd('all')
        for role in ['controller', 'compute', 'mongo', 'ceph-osd']:
            node_list = get_node_list(role)
            (proc_list, pipe) = run_doctor_on_nodes(role, node_list, check_cmd)
        for proc in proc_list:
            proc.join()
        LOG.info(pipe.recv(), remote=True)
    else:
        for i in register.all:
            eval(i)()
Exemplo n.º 16
0
def check_nodes(obj_name):
   # node_list = get_node_list('all')
    check_cmd = get_check_cmd(obj_name)
    nodes = []
    for role in ['controller','compute','mongo','ceph-osd']:
        node_list = get_node_list(role)
        for node in node_list:
            node_info = {}
            node_info['role'] = role
            node_info['name'] = node
            nodes.append(node_info)
    result = run_doctor_on_nodes(nodes, check_cmd)
    for res in result:
        LOG.info(res, remote=True)
Exemplo n.º 17
0
def check_nodes(obj_name):
    # node_list = get_node_list('all')
    check_cmd = get_check_cmd(obj_name)
    nodes = []
    for role in ['controller', 'compute', 'mongo', 'ceph-osd']:
        node_list = get_node_list(role)
        for node in node_list:
            node_info = {}
            node_info['role'] = role
            node_info['name'] = node
            nodes.append(node_info)
    result = run_doctor_on_nodes(nodes, check_cmd)
    for res in result:
        LOG.info(res, remote=True)
Exemplo n.º 18
0
def check_all():
    '''Check All Environement Object'''
    if NODE_ROLE.is_fuel():
        for role in ['controller','compute','mongo','ceph-osd']:
            node_list = get_node_list(role)
            for node in node_list:
                LOG.info('%s Role: %-10s Node: %-13s %s' % ('*'*15, role, node, '*'*15))
                if LOG.enable_debug:
                    out, err = ssh_connect2(node, 'sudo eayunstack --debug doctor env -a')
                else:
                    out, err = ssh_connect2(node, 'sudo eayunstack doctor env -a')
                if err:
                    LOG.error('Check failed !')
    else:
        for i in register.all:
            eval(i)()
Exemplo n.º 19
0
def check_all():
    """Check All Environement Object"""
    if NODE_ROLE.is_fuel():
        for role in ["controller", "compute", "mongo", "ceph-osd"]:
            node_list = get_node_list(role)
            for node in node_list:
                LOG.info("%s Role: %-10s Node: %-13s %s" % ("*" * 15, role, node, "*" * 15))
                if LOG.enable_debug:
                    out, err = ssh_connect2(node, "sudo eayunstack --debug doctor env -a")
                else:
                    out, err = ssh_connect2(node, "sudo eayunstack doctor env -a")
                if err:
                    LOG.error("Check failed !")
    else:
        for i in register.all:
            eval(i)()
Exemplo n.º 20
0
def check_all():
    '''Check All Environement Object'''
    if NODE_ROLE.is_fuel():
        check_cmd = get_check_cmd('all')
        nodes = []
        for role in ['controller','compute','mongo','ceph-osd']:
            node_list = get_node_list(role)
            for node in node_list:
                node_info = {}
                node_info['role'] = role
                node_info['name'] = node
                nodes.append(node_info)
        result = run_doctor_on_nodes(nodes, check_cmd)
        for res in result:
            LOG.info(res, remote=True)
    else:
        for i in register.all:
            eval(i)()
Exemplo n.º 21
0
def check_all():
    '''Check All Environement Object'''
    if NODE_ROLE.is_fuel():
        check_cmd = get_check_cmd('all')
        nodes = []
        for role in ['controller', 'compute', 'mongo', 'ceph-osd']:
            node_list = get_node_list(role)
            for node in node_list:
                node_info = {}
                node_info['role'] = role
                node_info['name'] = node
                nodes.append(node_info)
        result = run_doctor_on_nodes(nodes, check_cmd)
        for res in result:
            LOG.info(res, remote=True)
    else:
        for i in register.all:
            eval(i)()