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
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
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]
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
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
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
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
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
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) ]