Skip to content
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

Release 4.7.0 - Alpha 1 - E2E UX tests - Deployment on Docker #19650

Closed
2 tasks
davidjiglesias opened this issue Oct 16, 2023 · 2 comments
Closed
2 tasks

Release 4.7.0 - Alpha 1 - E2E UX tests - Deployment on Docker #19650

davidjiglesias opened this issue Oct 16, 2023 · 2 comments

Comments

@davidjiglesias
Copy link
Member

End-to-End (E2E) Testing Guideline

  • Documentation: Always consult the development documentation for the current stage tag at this link. Be careful because some of the description steps might refer to a current version in production, always navigate using the current development documention for the stage under test.
  • Test Requirements: Ensure your test comprehensively includes a full stack and agent/s deployment as per the Deployment requirements, detailing the machine OS, installed version, and revision.
  • Deployment Options: While deployments can be local (using VMs, Vagrant, etc) or on the aws-dev account, opt for local deployments when feasible. For AWS access, coordinate with the CICD team through this link.
  • External Accounts: If tests require third-party accounts (e.g., GitHub, Azure, AWS, GCP), request the necessary access through the CICD team here.
  • Alerts: Every test should generate a minimum of one end-to-end alert, from the agent to the dashboard, irrespective of test type.
  • Multi-node Testing: For multi-node wazuh-manager tests, ensure agents are connected to both workers and the master node.
  • Package Verification: Use the pre-release package that matches the current TAG you're testing. Confirm its version and revision.
  • Filebeat Errors: If you encounter errors with Filebeat during testing, refer to this Slack discussion for insights and resolutions.
  • Known Issues: Familiarize yourself with previously reported issues in the Known Issues section. This helps in identifying already recognized errors during testing.
  • Reporting New Issues: Any new errors discovered during testing that aren't listed under Known Issues should be reported. Assign the issue to the corresponding team (QA if unsure), add the Release testing/publication objective and Very high priority. Communicate these to the team and QA via the c-release Slack channel.
  • Test Conduct: It's imperative to be thorough in your testing, offering enough detail for reviewers. Incomplete tests might necessitate a redo.
  • Documentation Feedback: Encountering documentation gaps, unclear guidelines, or anything that disrupts the testing or UX? Open an issue, especially if it's not listed under Known Issues. Please answer the feedback section, this is a mandatory step.
  • Format: If this is your first time doing this, refer to the format (but not necessarily the content, as it may vary) of previous E2E tests, here you have an example Release 4.3.5 - Release Candidate 1 - E2E UX tests - Wazuh Indexer #13994.
  • Status and completion: Change the issue status within your team project accordingly. Once you finish testing and write the conclusions, move it to Pending review and notify the @wazuh/cicd team via Slack using the c-release channel. Beware that the reviewers might request additional information or task repetitions.
  • For reviewers: Please move the issue to Pending final review and notify via Slack using the same thread if everything is ok, otherwise, perform an issue update with the requested changes and move it to On hold, increase the review_cycles in the team project by one and notify the issue assignee via Slack using the same thread.

For the conclusions and the issue testing and updates, use the following legend:

Status legend

  • 🟢 All checks passed
  • 🟡 Found a known issue
  • 🔴 Found a new error

Issue delivery and completion

  • Initial delivery: The issue's assignee must complete the testing and deliver the results by Oct 18, 2023 and notify the @wazuh/cicd team via Slack using the c-release channel
  • Review: The @wazuh/cicd team will assign a reviewer and add it to the review_assignee field in the project. The reviewer must then review the test steps and results. Ensure that all iteration cycles are completed by Oct 19, 2023 date (issue must be in Pending final review status) and notify the QA team via Slack using the c-release channel.
  • Auditor: The QA team must audit, validate the results, and close the issue by Oct 20, 2023.

Deployment requirements

Component Installation Type OS
Indexer Deployment on docker Single node and multi node -
Server Deployment on docker Single node and multi node -
Dashboard Deployment on docker - -
Agent Wazuh WUI one-liner deploy using IP - Amazon Linux 2 aarch64

Test description

Test deployment of Docker repository.

  • Test the installation guide in detail for both a single-node and a multi-node Wazuh cluster
  • Test changing the passwords

Documentation: https://documentation-dev.wazuh.com/v4.7.0-alpha1/deployment-options/docker/index.html

Known issues

Conclusions

Summarize the errors detected (Known Issues included). Illustrate using the table below. REMOVE CURRENT EXAMPLES:

Status Test Failure type Notes
🟡 Example Test: API Integration Timeout issues on certain endpoints Known issue: https://github.com/example/repo/issues/12345
🔴 Example Test: Data Migration Data inconsistency in the new version New issue opened: https://github.com/example/repo/issues/67890

Feedback

We value your feedback. Please provide insights on your testing experience.

  • Was the testing guideline clear? Were there any ambiguities?
    • RESPONSE HERE
  • Did you face any challenges not covered by the guideline?
    • RESPONSE HERE
  • Suggestions for improvement:
    • RESPONSE HERE

Reviewers validation

The criteria for completing this task is based on the validation of the conclusions and the test results by all reviewers.

All the checkboxes below must be marked in order to close this issue.

@Benjaminnworah
Copy link
Member

Benjaminnworah commented Oct 17, 2023

Docker installation 🟢

Ubuntu 22.04 X86_64 virtual machine was installed locally to host the Docker engine.

  1. Check kernel version
#root@wazuh-docker:~# uname -r
6.2.0-34-generic
  1. Run the Docker installation script
root@wazuh-docker:~# curl -sSL https://get.docker.com/ | sh
# Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8de
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c install -m 0755 -d /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:31:44 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:31:44 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.24
  GitCommit:        61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
 runc:
  Version:          1.1.9
  GitCommit:        v1.1.9-0-gccaecfc
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

  1. Start the Docker service

root@wazuh-docker:~# systemctl start docker

  1. Check if the Docker service is running
root@wazuh-docker:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-10-17 22:23:19 WAT; 2min 55s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 3943 (dockerd)
      Tasks: 9
     Memory: 29.8M
        CPU: 548ms
     CGroup: /system.slice/docker.service
             └─3943 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 17 22:23:18 wazuh-docker systemd[1]: Starting Docker Application Container Engine...
Oct 17 22:23:18 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:18.786423094+01:00" level=info msg="Starting up"
Oct 17 22:23:18 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:18.788380547+01:00" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-reso>
Oct 17 22:23:19 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:19.017007319+01:00" level=info msg="Loading containers: start."
Oct 17 22:23:19 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:19.487875929+01:00" level=info msg="Loading containers: done."
Oct 17 22:23:19 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:19.619289094+01:00" level=info msg="Docker daemon" commit=1a79695 graphdriver=overlay2 ve>
Oct 17 22:23:19 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:19.620094955+01:00" level=info msg="Daemon has completed initialization"
Oct 17 22:23:19 wazuh-docker dockerd[3943]: time="2023-10-17T22:23:19.682278457+01:00" level=info msg="API listen on /run/docker.sock"
Oct 17 22:23:19 wazuh-docker systemd[1]: Started Docker Application Container Engine.

  1. Install Docker compose
root@wazuh-docker:~# curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 42.8M  100 42.8M    0     0  1371k      0  0:00:31  0:00:31 --:--:-- 3137k

  1. Grant execution permissions

root@wazuh-docker:~# chmod +x /usr/local/bin/docker-compose

  1. Check the Docker compose version
root@wazuh-docker:~# docker-compose --version
Docker Compose version v2.12.2

Single-node Wazuh Deployment on Docker

@davidjiglesias
Copy link
Member Author

This test can't be completed for Alpha 1 due to wazuh/wazuh-docker#1054

@davidjiglesias davidjiglesias closed this as not planned Won't fix, can't repro, duplicate, stale Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

2 participants