[ English | English (United Kingdom) | Deutsch | Indonesia | 中文 (简体, 中国) | español (México) | 한국어 (대한민국) ]

Elastic Recheck 사용

참고

이 섹션에서는 Zuul에서 상태를 확인 섹션을 완료했다고 가정합니다.

다음을 수행 할 수 있습니다:

  • gerrit에 제출 된 모든 패치에 대해 커뮤니티가 수행하는 자동 테스트를 향상시킵니다.

  • 수동으로 재확인 할 필요가 없도록 반복되는 버그를 보고합니다.

테스트 작업이 실패 할 경우 수행 할 작업

gerrit에 패치를 제출하고 zuul이 실행 한 작업에 대한 테스트 결과를 반환할 때, 때때로 이러한 테스트 중 하나가 실패하기도 합니다. 대부분의 경우 이는 제안된 변경 사항에 문제가 있으며 테스트에서 이를 포착하고 있음을 나타냅니다. 때때로 테스트 실행이 OpenStack의 기본 기존 버그로 인해 넘어졌을 수 있습니다. 또한 테스트를 실행하기 위한 인프라에 오류가 발생한 경우도 있습니다. 이를 파악하려면 실패한 작업의 로그를 항상 살펴보고 현재 상황을 파악해야 합니다.

Elastic-Recheck이란?

elastic-recheck는 테스트 작업의 실패를 추적하는 데 사용되는 도구입니다. 게이트의 작업에 영향을 미치는 알려진 버그에 대한 지문 저장소를 유지합니다. 그런 다음 버그가 발견되는 비율을 추적하고 오류에서 알려진 버그 지문을 발견 한 경우 gerrit 및 IRC에 코멘트를 남기는 데 사용됩니다.

elastic-recheck는 ELK Elastic Search , Logstash , Kibana 스택에서 Logstash를 사용하여 Elastic Search 클러스터에 CI 작업의 모든 로그를 저장합니다. 또한 클러스터에서 쿼리를 실행하고 데이터와 상호 작용하는 데 사용할 수있는 Kibana 대시 보드 를 호스팅합니다. elastic-recheck는 Elastic-search 클러스터에 지문을 쿼리합니다.

Elastic 재검사를 통해 추적중인 버그의 현재 상태는 Elastic Recheck 에서 확인할 수 있습니다.

../_images/er_status.png

각 그래프는 지난 10 일 동안 해당 지문과 일치하는 항목 수를 보여줍니다. 또한 버그에 대한 런치 패드 페이지와 지문에 사용되는 기본 elastic-search 쿼리에 대한 kibana 대시 보드에 대한 링크를 제공합니다.

elastic-recheck에는 일치하는 지문이없는 오류가 발생한 횟수를 보여주는 페이지도 있습니다. 일반적으로 분류되지 않은 실패가 많을수록 게이트나 OpenStack이 더 불안정합니다.

다음 페이지를 참조하십시오.

분류되지 않은 실패한 통합 게이트 작업분류되지 않은 실패한 작업

어떤 작업에 관심이 있느냐에 따라서.

../_images/er_uncategorized.png

프로젝트의 이론과 역사에 더 관심이 있다면 주노 오픈스택 서밋의 이번 강연에서 Elastic Recheck - OpenStack 에서 Race Conditions을 찾기 위한 도구들 이라는 좋은 개요를 제공합니다.

elastic-recheck에서 새로운 버그 트래킹 하기

Elastic-recheck에 의해 추적되지 않는 오류가 발생하고 로그를 검토하여 제안 된 변경으로 인한 것이 아니며 다른 변경에 영향을 미치는지 확인한 경우 새로운 elastic-recheck 지문을 제안 할 수 있습니다.

이 가이드에서는 실행 로그를 추적하고 좋은 지문을 찾는 방법에 대해 자세히 설명하지 않을 것입니다. 작업에 따라 다르고 다음과 같은 몇 군데에 이미 문서화되어 있기 때문입니다.

지문 감식에 사용할 수있는 로그에서 메시지를 식별 한 후에는 이를 엘라스틱서치 검색 쿼리로 전환해야합니다. 기존 지문 중 하나를 예로 사용할 수 있습니다. opendev/elastic-recheck

또한 kibana를 사용하여 엘라스틱서치 쿼리를 확인해야합니다: Logstash Search

쿼리를 구성하고 엘라스틱서치에 체크인 한 후에는 elastic-recheck 깃 레포지토리의 쿼리 디렉터리에 yaml 파일을 만들어야합니다. 파일 이름은 버그의 런치 패드 버그 번호이고 내용은 엘라스틱서치 쿼리입니다.