Closed verdx closed 7 months ago
This test supposedly launches a stress test for the Test_duration and can create an issue or put a comment on one in repos wazuh
or wazuh-jenkins
. Most of the parameters are related to this.
It is called by Test_stress to create the issue or add the commentary
A test has been manually launched and failed, but when it has been called from the Test_stress or the Test_stress_tier, it works correctly.
wazuh-jenkins
branch or commit reference.wazuh/wazuh
.This test launches the test defined on the wazuh-jenkins
repository on the machines specified for the time of TEST_DURATION
. It creates a report and calls Test_stress_gh
to create an issue or add a comment to an existing one on wazuh
or wazuh-jenkins
. It uses as parameters different configurations for the different modules that have been selected, as well as the necessary parameters so that Test_stress_gh
can be called.
The pipeline works correctly when launched, and it has been used correctly in all recent release testings. The results are copied to the Footprint test issues of the release candidates testing. For example: https://github.com/wazuh/wazuh/issues/16570
wazuh-jenkins
branch or commit reference.Specific parameters:
MANAGER_INSTANCE: OS of the manager system. [centos, ubuntu]
LAUNCH_CENTOS_AGENT: Launch tests on a centos agent.
LAUNCH_UBUNTU_AGENT: Launch tests on a ubuntu agent.
LAUNCH_WINDOWS_AGENT: Launch tests on a windows agent.
WINDOWS_VERSION: Windows OS version. Ex: 2019.
WINDOWS_PACKAGE_REVISION: Revision of the package. Ex 1
TEST_DURATION: Test execution duration in minutes. Default 3600.
FREQUENCY_SCAN: Time in seconds between each scan. Default 5.
MODULES: [SYSCHECK, LOGCOLLECTOR, SCA, ACTIVE-RESPONSE, ROOTCHECK, SYSCOLLECTOR, DOCKER-LISTENER, CIS-CAT, ****, AZURE-LOGS, OPEN-SCAP, VULNERABILITY-DETECTOR, VULNERABILITY-DETECTOR-REGISTER]
TEST_MGR_MODULES: Decide whether or not test modules on manager. Default true.
SYSCHECK_TEST: [SYSCHECK_WAZUH, SYSCHECK_ALL_REALTIME, SYSCHECK_ALL_WHODATA, SYSCHECK_DUPLICATED_ENTRIES]
LOGCOLLECTOR_HARD: Whether or not set logcollector hard. Default false
LOGCOLLECTOR_FEED: Feed logcollector with 64KiB messages.
FIM_SLEEP: FIM sleep time in seconds. Default 20.
FIM_MAX_FILES: Maximum number of files to monitor. Default 5000.
SCA_SLEEP: SCA sleep time in seconds. Default 30.
SCA_MAX_REGISTERS: Maximum number of registers. Default 5000.
DOCKER_IMAGE_NAME: Name of the docker image to deploy. Default hello-world
.
DOCKER_SLEEP: Docker sleep time in seconds. Default 5.
DOCKER_JOBS: Amount of docker deployment jobs. Default 10.
LOGCOLLECTOR_MAX_FILES: Maximum number of logcollector files. Default 1000.
LOGCOLLECTOR_CREATION_SLEEP: Time to sleep between creations. Default 300.
LOGCOLLECTOR_WRITE_FILES: Amount of files to write: Default 300
LOGCOLLECTOR_WRITE_SLEEP: Time to sleep between writings. Default 10
VULN_SLEEP: Vulnerability time sleep. Default 60.
AUTHD_PORT: Port for Authd. Default 1515.
SYSCOLLECTOR_PACKAGE: Package for syscollector to collect. Default imagenmagick.app
SYSCOLLECTOR_PACKAGE_VERSION: Version of the package for syscollector. Default 7.0.8.48.
MANAGER_CUSTOM_CONFIGURATION: Custom ossec.conf for wazuh-manager.
CENTOS_AGENT_CUSTOM_CONFIGURATION: Custom ossec.conf for CentOS wazuh-agent.
UBUNTU_AGENT_CUSTOM_CONFIGURATION: Custom ossec.conf for Ubuntu wazuh-agent.
WINDOWS_AGENT_CUSTOM_CONFIGURATION: Custom ossec.conf for Windows wazuh-agent.
ADDITIONAL_CHART_INFO: Additional info if is needed.
CONTAINER_SUFFIX: ECR container suffix. Default production.
GITHUB_ACTION: To create a new issue, add comment to existing or none. [None, Create new issue, Add comment to existing issue]
ISSUE_NUMBER: Number of the issue to add the comment to.
RC: Number of Release Candidate.
RC_ISSUE: URL or number of the Release Candidate's issue.
FOOTPRINT_ISSUE: URL or number of footprint issue.
GITHUB_REPO: Repository to share the artifacts with. Default wazuh
EXTRA_LABELS: Labels to incorporate into the issue . Default level/subtask,type/test,tracking,type/release
CUSTOM_TASK_DEFINITION: ECS Task Definition.
This test launches the test defined on the wazuh-jenkins
repository on the machines specified for the time of TEST_DURATION
. It creates a report and calls Test_stress_gh
to create an issue or add a comment to an existing one on wazuh
or wazuh-jenkins
. It uses as parameters different configurations for the different modules that have been selected, as well as the necessary parameters so that Test_stress_gh
can be called. Instead of launching machines in EC2, this pipeline takes an IP and a user and password to connect to a previously created machine.
The pipeline is being developed in issue https://github.com/wazuh/wazuh-jenkins/issues/4653, now in review.
Specific parameters:
MANAGER_INSTANCE
AIX_HOST
AIX_PORT
AIX_USER
AIX_PASSWORD
LAUNCH_CENTOS_AGENT
LAUNCH_UBUNTU_AGENT
LAUNCH_WINDOWS_AGENT
WINDOWS_VERSION: [2019, 2016, 2012]
WINDOWS_PACKAGE_REVISION
TEST_DURATION
FREQUENCY_SCAN
MODULES: [SYSCHECK, LOGCOLLECTOR, SCA, ACTIVE-RESPONSE, ROOTCHECK, SYSCOLLECTOR, DOCKER-LISTENER, CIS-CAT, OSQUERY, AZURE-LOGS, OPEN-SCAP, VULNERABILITY-DETECTOR, VULNERABILITY-DETECTOR-REGISTER]
TEST_MGR_MODULES
SYSCHECK_TEST: [SYSCHECK_WAZUH, SYSCHECK_ALL_REALTIME, SYSCHECK_ALL_WHODATA, SYSCHECK_DUPLICATED_ENTRIES]
LOGCOLLECTOR_HARD
LOGCOLLECTOR_FEED
FIM_SLEEP
FIM_MAX_FILES
SCA_SLEEP
SCA_MAX_REGISTERS
DOCKER_IMAGE_NAME
DOCKER_SLEEP
DOCKER_JOBS
LOGCOLLECTOR_MAX_FILES
LOGCOLLECTOR_CREATION_SLEEP
LOGCOLLECTOR_WRITE_FILES
LOGCOLLECTOR_WRITE_SLEEP
VULN_SLEEP
AUTHD_PORT
SYSCOLLECTOR_PACKAGE
SYSCOLLECTOR_PACKAGE_VERSION
MANAGER_CUSTOM_CONFIGURATION
CENTOS_AGENT_CUSTOM_CONFIGURATION
UBUNTU_AGENT_CUSTOM_CONFIGURATION
WINDOWS_AGENT_CUSTOM_CONFIGURATION
ADDITIONAL_CHART_INFO
CONTAINER_SUFFIX
GITHUB_ACTION: [None, Create new issue, Add comment to existing issue]
ISSUE_NUMBER
RC
RC_ISSUE
FOOTPRINT_ISSUE
GITHUB_REPO
EXTRA_LABELS
CUSTOM_TASK_DEFINITION
ARCHITECTURE
PROVISION_AIX
AIX_REPOSITORY_PATH
This test launches the test defined on the wazuh-jenkins
repository on the machines specified for the time of TEST_DURATION
. It creates a report and calls Test_stress_gh
to create an issue or add a comment to an existing one on wazuh
or wazuh-jenkins
. It uses as parameters different configurations for the different modules that have been selected, as well as the necessary parameters so that Test_stress_gh
can be called. Instead of launching machines in EC2, this pipeline creates vagrant hosts so that macOS and Solaris can be tested.
The pipeline generally works, as seen in previous launches, but when tested, both individually and with the tier it has failed with an error connecting to one of the vagrant machines.
Specific parameters:
MANAGER_INSTANCE
LAUNCH_MACOS_AGENT
LAUNCH_SOLARIS_AGENT
TEST_DURATION
FREQUENCY_SCAN
MODULES: [SYSCHECK, LOGCOLLECTOR, SCA, ACTIVE-RESPONSE, ROOTCHECK, SYSCOLLECTOR, DOCKER-LISTENER, CIS-CAT, OSQUERY, AZURE-LOGS, OPEN-SCAP, VULNERABILITY-DETECTOR, VULNERABILITY-DETECTOR-REGISTER]
TEST_MGR_MODULES
SYSCHECK_TEST: [SYSCHECK_WAZUH, SYSCHECK_ALL_REALTIME, SYSCHECK_ALL_WHODATA, SYSCHECK_DUPLICATED_ENTRIES]
LOGCOLLECTOR_HARD
LOGCOLLECTOR_FEED
FIM_SLEEP
FIM_MAX_FILES
SCA_SLEEP
SCA_MAX_REGISTERS
DOCKER_IMAGE_NAME
DOCKER_SLEEP
DOCKER_JOBS
LOGCOLLECTOR_MAX_FILES
LOGCOLLECTOR_CREATION_SLEEP
LOGCOLLECTOR_WRITE_FILES
LOGCOLLECTOR_WRITE_SLEEP
VULN_SLEEP
AUTHD_PORT
SYSCOLLECTOR_PACKAGE
SYSCOLLECTOR_PACKAGE_VERSION
MANAGER_CUSTOM_CONFIGURATION
CENTOS_AGENT_CUSTOM_CONFIGURATION
UBUNTU_AGENT_CUSTOM_CONFIGURATION
WINDOWS_AGENT_CUSTOM_CONFIGURATION
ADDITIONAL_CHART_INFO
CONTAINER_SUFFIX
GITHUB_ACTION: [None, Create new issue, Add comment to existing issue]
ISSUE_NUMBER
RC
RC_ISSUE
FOOTPRINT_ISSUE
GITHUB_REPO
EXTRA_LABELS
CUSTOM_TASK_DEFINITION
The tests have been finished and the three pipelines have been analyzed and described.
The parameters are displayed but not explained. It would be useful to add general information on what these stress tests consist of, what they test.
This is going to be done and continued as part of the Jenkins redesign followed by the refactor of Footprint (Performance testing tier 1).
Description
This issue aims to analyze and document all about the Stress test. Working state and parameters of the different pipelines mainly.
State
There are four different pipelines related to the Stress tests:
wazuh-jenkins
repositoryThere is another pipeline, which runs a tier of tests, but it has been covered in https://github.com/wazuh/wazuh-qa/issues/4280
Tests launched
- :red_circle: Test_stress_gh https://ci.wazuh.info/job/Test_stress_gh/1152/console - :green_circle: Test_stress: https://ci.wazuh.info/job/Test_stress/4077 - :red_circle: Test_stress_vagrant: https://ci.wazuh.info/job/Test_stress_Vagrant/132 - :red_circle: Test_stress_tier: https://ci.wazuh.info/job/Test_stress_tier/70/