-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deployability testing tier 1 #4495
Comments
The order of execution of the tests must be modified, since an upgrade implies the installation of the previous version, with the current proposal, this would not be possible since first the installation of the version to test the proposal is done:
|
Requirements reviewOS and architecture unavailability
Agent's hardware requirements do not meet OS minimum requirementsNext OSes have higher hardware requirements
Known problems
Mangers on those OSes that only support Agents
Test order
Wazuh Manager and Wazuh Agent test interleavingWazuh Agent tests need some validation from the manager side(registration, connection) , but at the same time, the Wazuh Manager has their own testing. The idea is to determine/define the optimal and decoupled test flow that meets the requirements in the less available time |
Requirements review
|
Weekly Minutes DTT1 Participants: Conclusions: |
The automation section is removed because it will be worked on DTT2 Automation
|
Moved ETA to 29/04/2024 as we have to work on the following issues
We need the following issue from the DevOps team As 4.9.0 is targeted to 2/05/2024, we plan to use the 30/04 and 2/05 to test and retrieve metrics |
Moved the ETA to 3/5/2024 as 1/5/2024 is a holiday and we need some time to test the changes in the main branch (#5191). This has been discussed and approved with @davidjiglesias |
Based on all DTT1 pending issues by each team and ETAs:
This issue will change the ETA to Monday 15/5/2024 so we can test all changes (issue #5191) |
Removed Windows ARM from OS list as there is no Windows ARM available yet |
ETA moved to 18 June #5191 (comment) |
LGTM The branch must be kept alive until the Agent team changes the GHA workflow references |
Description
The objective of this issue is to thoroughly test Wazuh packages' deployment on tier 1 operating systems and architectures. This includes fully automated tests engrained in Wazuh's CI processes.
This testing should focus on reliability, lightweightness, and speed. We will be referring to Deployability testing tier1 as DTT1 from now on.
Functional requirements
DTT1 includes the following combination of operating systems, versions, and architectures:
central componentsSUSE15agents, central componentsx86_64, aarch64Fedora38agentsx86_64, aarch64, aarch6411agentsx86_64, aarch64, aarch64, aarch64, aarch64, aarch64, aarch64The OS from Fedora onwards are included in tier 2, because the development has not been completed from the allocation
Agents
High-level phases Agents
Deploy new agent
wizard sectionwazuh-control
binaryossec.conf
targeting a specific managerUpgradeEnsure file permissions are maintained post-upgrade (Checkfiles close-world)UpgradeEnsure configuration is maintained post-upgrade (ossec.conf, agent.conf, local_internal_options.conf)wazuh-control
binaryCentral components
High-level phases Central components
UpgradeConfirm the new version is accurately reportedNon-functional requirements
Hardware
Agent
Central components
Implementation restrictions
Plan
First iteration
Objetive:
The objective of this iteration is to generate the skeleton of the modules and begin to detect problems that may arise from the new architecture. For this, a PoC described in the issues will be carried out.
Results:
The PoC was carried out.
The modules were generated.
During the development the following problems were encountered:
Second iteration:
Objetive:
For this iteration, it is necessary to resolve the problems found in the previous one.
After the weekly #4495 (comment), it was decided to investigate tools that use the DAG methodology, to use it as an orchestrator.
Refine the modules, according to what was proposed.
Results:
All the problems or topics found in iteration 1 were completed. On the other hand, some points of improvement were found as the new functionalities were developed and implemented:
General
3.1 TaskFlow
3.2 Allocation
3.3 Provision
3.3 Test
4.1. Define centralized log
4.2. Format
4.3. Levels
4.4. Output file for module (level debug) + Jenkins log (level info)
TaskFlow
Allocation
Provision
4.1. Validate the working OS in Vagrant
4.2. Validate the working OS in AWS
4.3. Adapt the dependencies installed for the tests so that they work on other systems such as CentOS 8
Testing
Observability
1.1 If we decide to use it, carry out the implementation
Jenkins
Iteration 3:
Objective:
After iteration 2, the following points emerged that will be the goal of the last iteration of the project.
Tasks:
General
Workflow engine
Provision
Allocation
Tests
Add Copyright
Release
Results:
Issue to include in DTT Tier 2
Devepot automated unit test
Objective:
The objective of this stage is to generate automated unit tests for each module.
It is expected to continue in DTT2. It is incorporated into DDT1 with the objective of beginning to define the test cases and the way they are implemented automatically.
Implement best practices
Jenkins implementation
Observability
Post-development:
Branch
Approved by
DRI name: @davidjiglesias
CTO: @havidarou
Objective: Bulletproof deployability tier1
The text was updated successfully, but these errors were encountered: