wazuh / wazuh-qa

Wazuh - Quality Assurance
GNU General Public License v2.0
64 stars 30 forks source link

Research current pipelines documentation and identify the ones to migrate #5599

Closed QU3B1M closed 1 month ago

QU3B1M commented 1 month ago

Description

This issue aims to read and analyze the current Jenkins pipelines documentation, identifying which ones must be migrated for v4.10.0 and listing their code location and dependencies.

We won't migrate any non-maintained pipelines, only the essential pipelines, and justify. Also, we have to validate to not lose coverage.

Tasks

Conclusion

All the pipelines were analyzed, and considering the migrations to GitHub Actions (GHA) that are planned or in progress by the development teams, and the DTT development by the QA team, this is the list of pipelines that are candidates to be removed or migrated to the new platforms.

[!Note]

The column 'Maintain v4.X' is meant to identify the pipelines that must be maintained in the current Jenkins environment for the v4.X.X versions.

Pipeline name In use Responsible team Move to Maintain v4.X Last code update Last run Details
Build_ALAS Yes CppServer GHA No 15/05/2023 Present Package building, move to actions on correspondent repository.
Build_framework_python No PyServer GHA No 18/09/2023 26/01/2024 Package building, move to actions on correspondent repository.
Build_last_tag No --- --- No 16/01/2020 07/01/2020 Legacy pipeline. Must be removed.
Build_MSU Yes CppServer GHA No 30/10/2023 Present Package building, move to actions on correspondent repository.
Build_NVD Yes CppServer GHA No 18/07/2023 Present Package building, move to actions on correspondent repository.
Build_packages_from_branch No --- --- No 27/02/2020 08/08/2019 Legacy pipeline. Must be removed.
Packages_builder Yes CppServer - Agent - Indexer - Dashboard GHA No 20/02/2024 Present Package building, move to actions on correspondent repository.
Packages_builder_macos Yes Agent GHA No 30/10/2023 Present Package building, move to actions on correspondent repository.
Packages_builder_nightly No --- --- No --- --- Legacy pipeline. Must be removed.
Packages_builder_solaris Yes Agent GHA No 12/05/2022 19/07/2024 Package building, move to actions on correspondent repository.
Packages_builder_special Yes Agent GHA No 25/01/2024 22/07/2024 Package building, move to actions on correspondent repository.
Packages_builder_tier Yes CppServer - Agent - Indexer - Dashboard --- No 06/06/2023 Present Triggers multiple packages build, probably not required on GHA.
Packages_builder_win Yes Agent GHA No 08/06/2023 Present Package building, move to actions on correspondent repository.
Packages_uploader_repository Yes QA - Release New Jenkins Yes 09/07/2024 17/07/2024 Refactor on Packages Redesign.
PR_FIM No CppServer --- No 16/12/2020 --- Legacy pipeline. Must be removed.
PR_http_request Yes CppServer GHA No 27/09/2022 19/04/2024 Move to actions on correspondent repository.
PR_intelligence_platform No Content - CppServer GHA No 15/02/2023 12/09/2023 Move to actions on correspondent repository.
PR_jenkins (disabled) No --- --- No 08/09/2021 24/06/2020 Legacy pipeline. Must be removed.
PR_packages Yes QA - CppServer - Agent - Indexer - Dashboard --- No 24/03/2023 Present Wont be required in the new architecture.
PR_ruleset (disabled) No --- --- No 18/06/2021 09/12/2020 Legacy pipeline. Must be removed.
PR_wazuh Yes CppServer - Agent GHA No 09/02/2024 Present Move to actions on correspondent repository.
PR_wazuh_feed (disabled) No --- --- No 25/11/2021 11/02/2022 Legacy pipeline. Must be removed.
Procedure_ecs_task Yes QA New Jenkins Yes 24/04/2024 22/07/2024 Move to new jenkins, maybe replaced by Allocator.
Procedure_ecs_task_tier Yes QA New Jenkins Yes 15/09/2023 Present Move to new jenkins, could be merged with previous.
Test_code_vulnerabilities No PyServer GHA No 18/05/2023 N/A Move to actions on correspondent repository.
Test_compilation No QA --- No 30/05/2023 31/12/2023 Legacy pipeline. Covers compilation tests for main components, could be refactored.
Test_dependencies_vulnerabilities Yes QA --- No 18/05/2023 29/05/2023 Legacy pipeline. GitHub already provides a solution for this.
Test_e2e_system Yes QA New Jenkins Yes 18/06/2024 Present Move to new jenkins.
Test_feed(removed) No --- --- No 11/02/2022 25/11/2021 Legacy pipeline. Must be removed.
Test_FIM No QA --- No 29/07/2021 N/A Legacy pipeline. Covers FIM performance tests.
Test_install Yes QA DTT No 01/12/2023 Present Replaced by new DTT suite. Covers: version, process, log errors, conf, connection.
Test_install_special No QA DTT No 15/09/2022 02/05/2022 Replaced by new DTT suite. Covers: version, process, log errors, conf, connection.
Test_install_tier Yes QA DTT No 01/12/2023 Present Executes a set of tests install, replaced by DTT
Test_integration Yes CppServer - Agent - PyServer GHA No 04/06/2024 Present Move to actions on correspondent repository.
Test_integration_endpoints Yes PyServer GHA No 25/06/2024 Present Move to actions on correspondent repository.
Test_integration_launcher Yes CppServer - Agent - PyServer GHA No 11/06/2024 Present Move to actions on correspondent repository.
test_nightly (disabled) No QA New Jenkins No 23/10/2023 04/01/2024 Legacy pipeline. A new nightly will be required for the new structure.
Test_registration Yes QA DTT No 21/03/2023 Present Must be included in new DTT suite. Covers: register simple, password, manager verification (with & without), agent verification (with & without), verifications with passwords.
Test_registration_tier Yes QA DTT No 18/06/2024 Present Executes a set of test registration, replaced by DTT
Test_reliability No PyServer GHA No 21/10/2022 N/A Move to actions on correspondent repository.
Test_RTR Yes CppServer - Agent GHA No 29/09/2023 Present Move to actions on correspondent repository.
Test_RTR_external No CppServer - Agent GHA No 27/09/2022 19/04/2024 Move to actions on correspondent repository.
Test_RTR_scanbuild Yes CppServer GHA No 04/11/2022 Present Move to actions on correspondent repository.
Test_ruleset Yes CppServer GHA No 15/09/2022 28/05/2024 Move to actions on correspondent repository.
Test_selinux Yes QA DTT No 30/12/2020 Present Good to have, but the actual implementation is not great. Covers: check log 'cannot connect to socket' is not raised
Test_service Yes QA DTT No 05/01/2024 Present Must be included in new DTT suite. Covers: start, stop, restart (systemctl & sysv).
Test_stack Yes CppServer - Indexer - Dashboard GHA Yes 11/08/2023 Present Move to actions on correspondent repository. Covers: Checkfiles.
Test_stack_tier Yes CppServer - Indexer - Dashboard GHA Yes 11/08/2023 Present Executes a set of Test_stack
Test_stress (footprint) Yes QA New Stress suite Yes 01/07/2024 Present Must be refactored. Covers: syscheck, logcollector, sca, AR, rootcheck, syscollector, Docker, Cis-Cat, Osquery, Azure, VD, VD-Register.
Test_stress_AIX No QA --- No --- 02/06/2023 Legacy pipeline. Must be removed.
Test_stress_gh Yes QA New Jenkins Yes 11/01/2024 Present Must be refactored. It creates the footprint issues.
Test_stress_tier (footprint) Yes QA New Stress suite Yes 01/07/2024 Present Executes a set of Test_stress.
Test_stress_Vagrant Yes QA New Stress suite Yes 11/01/2024 Present Must be refactored, it could use JobFlow and Allocator.
Test_system No QA New System suite No 05/05/2022 05/12/2023 Must be refactored.
Test_unattended Yes QA DTT No 26/06/2024 Present Replaced by DTT suite. Covers install with unattended tools.
Test_unattended_distributed Yes QA DTT No 26/06/2024 Present Replaced by DTT suite. Covers install distributed environment with unattended tools.
Test_unattended_distributed_cases Yes QA DTT No 13/07/2022 Present Replaced by DTT suite. Covers install distributed environment with unattended tools.
Test_unattended_tier Yes QA DTT No 28/11/2022 Present Replaced by DTT suite. Executes a set of Test_unattended
Test_unit Yes CppServer - Agent - PyServer GHA No 10/06/2024 Present Move to actions on correspondent repository.
Test_unit_jenkins (Removed) No --- --- No --- 04/10/2021 Legacy pipeline. Must be removed.
Test_upgrade Yes QA DTT No 18/06/2024 Present Replaced by DTT.
Test_upgrade_nightly (Removed) No --- --- No --- 03/04/2020 Legacy pipeline. Must be removed.
Test_upgrade_tier Yes QA DTT No 18/06/2024 Present Replaced by DTT.
Test_upgrade_wpk (disabled) No QA --- No 27/06/2023 --- Legacy pipeline. Must be removed.
Tests_launcher (disabled) No --- --- No --- 29/05/2020 Legacy pipeline. Must be removed.
QU3B1M commented 1 month ago

Update progress

Initial version of table > This table is uncomplete and outdated | Pipeline | Last code update | Last run | Team | v4.X | Details | |---------------------------------------|-------------------|---------------|-----------|-----------|---------| | Build_ALAS | 15/05/2023 | Present | CppServer | No | Must be moved to GitHub Actions | | Build_framework_python | 18/09/2023 | 26/01/2024 | PyServer | No | Must be moved to GitHub Actions | | Build_last_tag | 16/01/2020 | 07/01/2020 | --- | No | Legacy pipeline. Must be removed | | Build_MSU | 30/10/2023 | Present | CppServer | No | Must be moved to GitHub Actions | | Build_NVD | 18/07/2023(TaskDefPushed) | Present | CppServer | No | Must be moved to GitHub Actions | | Build_packages_from_branch | 27/02/2020 | 08/08/2019 | --- | No | Legacy pipeline. Must be removed | | Packages_builder | 20/02/2024 | Present | CppServer - Agent - Indexer - Dashboard| No | Must be moved to a GitHub Action for each component in correspondent repository | | Packages_builder_macos | 30/10/2023 | Present | Agent | No | Must be moved to GitHub Actions | | Packages_builder_nightly | --- | --- | --- | No | Legacy pipeline. Must be removed | | Packages_builder_solaris | 12/05/2022 | 19/07/2024 | Agent | No | Must be moved to GitHub Actions | | Packages_builder_special | 25/01/2024 | 22/07/2024 | No | Agent. Must be moved to GitHub Actions || | Packages_builder_tier | 06/06/2023 | Present | No | CppServer. Wont be required in the new architecture || | Packages_builder_win | 08/06/2023 | Present | No | Agent. Must be moved to GitHub Actions || | Packages_uploader_repository | 09/07/2024 | 17/07/2024 | Yes | QA - Release. Refactor on Packages Redesign. || | PR_FIM | 16/12/2020 | --- | No | CppServer. Legacy pipeline. Must be removed | | | PR_http_request | 27/09/2022 | 19/04/2024 | No | CppServer. Must be moved to GitHub Actions || | PR_intelligence_platform | 15/02/2023 | 12/09/2023 | No | Content - CppServer. Must be moved to GitHub Actions || | PR_jenkins (disabled) | 08/09/2021 | 24/06/2020 | No | Legacy pipeline. Must be removed || | PR_packages | 24/03/2023 | Present | No | Wont be required in the new architecture || | PR_ruleset (disabled) | 18/06/2021 | 09/12/2020 | No | Legacy pipeline. Must be removed || | PR_wazuh | 09/02/2024 | Present | No | CppServer - Agent. Must be moved to GitHub Actions || | PR_wazuh_feed (disabled) | 25/11/2021 | 11/02/2022 | No | Legacy pipeline. Must be removed || | Procedure_ecs_task | 24/04/2024 | 22/07/2024 | Yes | QA. Must be moved to new jenkins, maybe replaced by Allocator || | Procedure_ecs_task_tier | 15/09/2023 | Present | Yes | QA. Must be moved to new jenkins, could be merged with previous || | Test_code_vulnerabilities | 18/05/2023 | N\A | No | PyServer. Must be moved to GitHub Actions || |Test_compilation | 30/05/2023 | 31/12/2023 | No | QA. Covers compilation tests for main components, must be refactored. || | Test_dependencies_vulnerabilities | 18/05/2023 | 29/05/2023 | No | QA. Legacy pipeline. GitHub already provides a solution for this. || | Test_e2e_system | 18/06/2024 | Present | Yes | QA. Must be moved to new jenkins || | Test_feed(removed) | 11/02/2022 | 25/11/2021 | No | Legacy pipeline. Must be removed || | Test_FIM | 29/07/2021 | N\A | No | QA. Legacy pipeline. Covers FIM performance tests || | Test_install | 01/12/2023 | Present | No | QA. Replaced by new DTT suite. Covers: version, process, log errors, conf, connection || | Test_install_special | 15/09/2022 | 02/05/2022 | No | QA. Replaced by new DTT suite. Covers: version, process, log errors, conf, connection || | Test_install_tier | 01/12/2023 | Present | No | QA. Replaced by new DTT suite. || | Test_integration | 04/06/2024 | Present | No | CppServer - Agent - PyServer. Moved to GitHub Actions || | Test_integration_endpoints | 25/06/2024 | Present | No | PyServer. Must be moved to Github Actions || | Test_integration_launcher | 11/06/2024 | Present | No | CppServer - Agent - PyServer. Must be moved to GitHub Actions || | test_nightly (disabled) | 23/10/2023 | 04/01/2024 | Yes | QA. Legacy pipeline. A new nightly will be required for the new structure || | Test_registration | 21/03/2023 | Present | Yes | QA. Must be included in new DTT suite. Covers: register simple, password, manager verification (with & without), agent verification (with & without), verifications with passwords || | Test_registration_tier | 18/06/2024 | Present | Yes | QA. Must be included in new DTT suite. || | Test_reliability | 21/10/2022 | N\A | No | PyServer. Must be moved to GutHub Actions || | Test_RTR | 29/09/2023 | Present | No | CppServer - Agent. Must be moved to GitHub Actions || | Test_RTR_external | 27/09/2022 | 19/04/2024 | No | CppServer - Agent. Must be moved to GitHub Actions || | Test_RTR_scanbuild | 04/11/2022 | Present | No | CppServer. Must be moved to GitHub Actions || | Test_ruleset | 15/09/2022 | 28/05/2024 | No | CppServer. Must be moved to GitHub Actions || | Test_selinux | 30/12/2020 | Present | No | QA. Good to have, but the actual implementation is not great. Covers: [check log 'cannot connect to socket' is not raised](https://github.com/wazuh/wazuh-jenkins/blob/master/quality/tests/generic/06-selinux/linux/test/selinux_test.py) || | Test_service | 05/01/2024 | Present | No | QA. Must be included in new DTT suite. Covers: start, stop, restart (systemctl & sysv) || | Test_stack | 11/08/2023 | Present | No | CppServer - Indexer - Dashboard. Must be moved to GitHub Actions. Covers: Checkfiles || | Test_stack_tier | 11/08/2023 | Present | No | Must be moved/replaced to actions || | Test_stress (footprint) | 01/07/2024 | Present | Yes | QA. Must be refactored. Covers: syscheck, logcollector, sca, AR, rootcheck, syscollector, Docker, Cis-Cat, Osquery, Azure, VD, VD-Register || | Test_stress_AIX | --- | 02/06/2023 | No | QA. Legacy pipeline. Must be removed || | Test_stress_gh | 11/01/2024 | Present | No | QA. Must be refactored. It creates the footprint issues|| | Test_stress_tier (footprint) | 01/07/2024 | Present | Yes | QA. Could be replaced with a JobFlow implementation || | Test_stress_Vagrant | 11/01/2024 | Present | ye | QA. Must be refactored, it could use JobFlow || | Test_system | 05/05/2022 | 05/12/2023 | Neh | QA. Must be refactored | | | Test_unattended | 26/06/2024 | Present | No | QA. Replaced by DTT suite. Covers install with unattended tools || | Test_unattended_distributed | 26/06/2024 | Present | No | QA. Replaced by DTT suite. Covers install distributed environment with unattended tools || | Test_unattended_distributed_cases | 13/07/2022 | Present | No | QA. Replaced by DTT suite. Covers install distributed environment with unattended tools || | Test_unattended_tier | 28/11/2022 | Present | No | QA. Replaced by DTT suite. Covers install with unattended tools || | Test_unit | 10/06/2024 | Present | No | CppServer - Agent - PyServer. Must be moved to GitHub Actions || | Test_unit_jenkins (Removed) | --- | 04/10/2021 | No | Legacy pipeline. Must be removed | | | Test_upgrade | 18/06/2024 | Present | No | QA. Replaced by DTT || | Test_upgrade_nightly (Removed) | --- | 03/04/2020 | No | Legacy pipeline. Must be removed || | Test_upgrade_tier | 18/06/2024 | Present | No | QA. Replaced by DTT || | Test_upgrade_wpk (disabled) | 27/06/2023 | --- | No | QA. Legacy pipeline. Must be removed || | Tests_launcher (disabled) | --- | 29/05/2020 | No | Legacy pipeline. Must be removed ||
damarisg commented 1 month ago

Request changes

I will request changes.

Regards.

pcapellan commented 1 month ago
31/7/2024 ### Pipelines analyzed: - PR_http_request - PR_package - PR_intelligence_platform - PR_wazuh - Test_RTR - Test_RTR_scanbuild - Build_framework_python - Test_unit - Test_reliability - Test_code_vulnerabilities - Test_unattended - Test_unattended_tier - Test_unattended_distributed - Test_stress - Test_stress_AIX - Test_stress_gh ### File with pipelines analysis: [wazuh-pipelines.xlsx](https://github.com/user-attachments/files/16444272/wazuh-pipelines.xlsx)
30/7/2024 ### Pipelines analyzed: - Test_Ruleset - Package_builder - Package_builder_tier - Package_builder_macos - Package_builder_win - Package_builder_solaris - Package_builder_special - Test_integration - Test_integration_launcher - Test_integration_endpoints - Build_NVD - Test_stack - Test_stack_tier
29/7/2024 Pipelines analyzed: - Test_service - Test_system - Selinux - Test_compilation - package_uploader_repository - Test_dependencies_vulnerabilities - Build_ALAS - Build_MSU - PR_FIM - Test_FIM
26/7/2024 Pipelines analyzed: - Procedure_ecs_task - Procedure_ecs_task_tier - Test_e2e_system - Test_registration - Test_registration_tier - Test_install - Test_install_special - Test_install_tier - Test_upgrade - Test_upgrade_tier

Pipelines by team

Total of pipelines: 65

pipelines_by_team

damarisg commented 1 month ago

Review Number 2

I modified the Pipelines details.xlsx file to improve the information. I am waiting to respond to some questions and then move the status question.

damarisg commented 1 month ago

Review 3 - Conclusion

In this first approach, we detect the pipelines to migrate details. The director will review this to define our current approach.