Пример #1
0
def mget_all_host_life_cycle_status():
    """
    获取主机所有生命周期状态
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(
            schema=server_life_cycle_schema, page=1, size=100000000)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return entity_obj_list
Пример #2
0
def mget_all_host_model():
    """
    获取所有主机型号
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(
            schema=server_model_schema, page=1, size=100000000)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return entity_obj_list
Пример #3
0
def get_host(name):
    """
    获取逻辑服务器主机信息
    :param name: 主机名
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(
            schema=server_logic_schema, hostname=name)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = None
    return entity_obj_list[0]
Пример #4
0
def get_hostgroup_by_name(name):
    """
    获取泳道主机组
    :param name: 泳道主机组名
    :return:
    """
    try:
        entity_obj = cmdb_client.get_entity(schema=hostgroup_schema,
                                            entity_key=name)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj = None
    return entity_obj
Пример #5
0
def mget_all_hostgroup(page=1, size=10):
    """
    获取所有的主机组
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(schema=hostgroup_schema,
                                                      size=size,
                                                      page=page)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return entity_obj_list
Пример #6
0
def mget_all_idc():
    """
    获取所有IDC信息
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(schema=idc_info_schema,
                                                      page=1,
                                                      size=100000000)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return entity_obj_list
Пример #7
0
def search_hostgroup_by_name(name, page=1, size=10):
    """
    搜索主机组
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities_by_query(
            query='_type: {0} AND name: {1}'.format(hostgroup_schema, name),
            page=page,
            size=size)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return entity_obj_list
Пример #8
0
def get_appid_for_hostgroup(name, page=1, size=100000000000):
    """
    获取泳道主机组所关联的app_id
    :param name:
    :param page:
    :param size:
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities(schema=hostgroup_rl_appid_schema, hosts_set_name=name,
                                                      size=size, page=page)
        log.info('查询与主机组"{0}"关联的所有AppId'.format(name))
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    app_id_list = list(set([entity_obj.app_id for entity_obj in entity_obj_list]))
    return app_id_list
Пример #9
0
def mget_gray_hostgroup(hostgroup):
    """
    获取灰度主机组信息
    :param hostgroup:
    :return:
    """
    try:
        entity_obj_list = cmdb_client.search_entities_by_query(
            query='_type: {0} AND name: {1}* AND env: prod'.format(
                gray_hostgroup_schema, hostgroup),
            size=100000000000)
    except RequestFailException as e:
        if not e.message.split()[2] == '404':
            raise RequestFailException(e.message)
        entity_obj_list = []
    return [
        entity_obj for entity_obj in entity_obj_list
        if re.match(r'{0}(-\d{{1,3}})?'.format(hostgroup), entity_obj.name)
    ]