Menggunakan Elastic Recheck

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

Menggunakan Elastic Recheck

Catatan

Bagian ini menganggap Anda telah menyelesaikan Memeriksa Status di Zuul

Memungkinkan Anda untuk:

  • Tingkatkan pengujian otomatis yang dilakukan komunitas pada setiap patch yang dikirimkan ke gerrit

  • Laporkan bug berulang sehingga Anda tidak perlu 'recheck' secara manual

Apa yang harus dilakukan jika pekerjaan uji gagal

Ketika Anda mengirimkan patch ke gerrit dan zuul mengembalikan hasil tes untuk pekerjaan yang dijalankannya, terkadang salah satu dari tes itu gagal. Sebagian besar waktu ini menunjukkan ada masalah dengan perubahan yang Anda usulkan dan tes menangkapnya. Kadang-kadang uji coba mungkin telah tersandung bug yang sudah ada sebelumnya di OpenStack. Selain itu, beberapa kali infrastruktur untuk menjalankan tes mungkin mengalami kegagalan. Untuk mengetahuinya, Anda harus selalu melihat log dari pekerjaan yang gagal untuk memahami apa yang terjadi.

Apa itu elastic-recheck

elastic-recheck adalah alat yang digunakan untuk melacak kegagalan dalam pekerjaan pengujian. Itu menyimpan repositori fingerprint untuk bug yang diketahui yang mempengaruhi pekerjaan di gate. Kemudian digunakan untuk melacak tingkat bug yang ditemukan dan juga untuk meninggalkan komentar di gerrit dan di IRC ketika telah menemukan bug fingerprint yang diketahui gagal.

elastic-recheck dibangun di atas ELK (Elastic Search, Logstash <https://github.com/elastic/logstash> _, Kibana <https://github.com/elastic/kibana> `_) stack di mana kami menggunakan Logstash untuk menyimpan semua log dari pekerjaan CI dalam sebuah cluster Elastic Search. Kami juga meng-host `Kibana dashboard <http://logstash.openstack.org/> _ yang dapat digunakan untuk menjalankan kueri pada cluster dan berinteraksi dengan data. elastic-search kembali permintaan pencarian elastis untuk sidik jari.

Anda dapat melihat status terkini dari bug yang dilacak oleh elastic recheck di: Elastic Recheck

../_images/er_status.png

Setiap grafik menunjukkan berapa banyak kecocokan yang ditemukan untuk fingerprint itu selama 10 hari terakhir. Ini juga menyediakan tautan ke halaman launchpad untuk bug, dan dasbor kibana untuk kueri elastic-search yang digunakan untuk fingerprint.

elastic-recheck juga memiliki halaman untuk menunjukkan berapa banyak kegagalan yang ditemui yang tidak memiliki fingerprint yang cocok. Biasanya semakin banyak kegagalan yang tidak dikategorikan, semakin tidak stabil gate tersebut (dan OpenStack secara keseluruhan).

Anda dapat menemukan halaman ini di:

Unclassified failed integrated gate jobs dan Unclassified failed jobs

tergantung pada pekerjaan yang Anda minati.

../_images/er_uncategorized.png

Jika Anda lebih tertarik pada teori dan sejarah di balik proyek ini, ceramah dari Juno OpenStack Summit ini memberikan gambaran yang bagus: Elastic Recheck - Tools for Finding Race Conditions in OpenStack

Melacak bug baru di elastic-recheck

Ketika Anda menemukan kegagalan yang tidak dilacak oleh elastic-recheck dan Anda telah memeriksa log untuk menentukan bahwa itu tidak disebabkan oleh perubahan yang diajukan dan memengaruhi perubahan lain, Anda dapat mengusulkan fingerprint elastic-recheck baru.

Panduan ini tidak akan membahas rincian penelusuran log dan menemukan fingerprint yang baik, karena cukup terlibat, tergantung pada pekerjaan yang Anda lihat, dan sudah didokumentasikan di beberapa tempat termasuk:

Setelah Anda mengidentifikasi pesan dalam log yang dapat digunakan untuk fingerprint, Anda harus mengubahnya menjadi permintaan elastic-search. Anda dapat menggunakan salah satu fingerprints yang ada sebagai contoh: openstack-infra/elastic-recheck

Anda juga harus memeriksa kueri elastic search menggunakan kibana di: Logstash Search

Setelah Anda membuat kueri dan memeriksa elastic-search, Anda harus membuat file yaml di direktori kueri repo git elastic-rechecki. Nama file adalah nomor bug launchpad untuk bug dan isinya adalah permintaan elastic-recheck.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.