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

DTT1 - Execution time analysis #5191

Closed
2 tasks done
rauldpm opened this issue Apr 9, 2024 · 24 comments
Closed
2 tasks done

DTT1 - Execution time analysis #5191

rauldpm opened this issue Apr 9, 2024 · 24 comments
Assignees

Comments

@rauldpm
Copy link
Member

rauldpm commented Apr 9, 2024

Description

We need to perform an analysis of DTT1 functionality and execution times so that we have reference times. The idea of this issue is to collect information about the branch's status.

Related:

Tasks


@pro-akim
Copy link
Member

pro-akim commented Apr 9, 2024

Update

Working first on #5125

@wazuhci wazuhci moved this from In progress to Triage in Release 4.9.0 Apr 9, 2024
@wazuhci wazuhci moved this from Triage to In progress in Release 4.9.0 Apr 10, 2024
@pro-akim
Copy link
Member

pro-akim commented Apr 10, 2024

Update

1. Analyze results of issue #5125 and provide times in a single comment

Allocation + All the agent tests (install,registration,restart,stop,uninstall) (no clean-up)

VAGRANT (1 Manager + 12 agents)

CASE Allocation Provision Testing Total
Test agent into all supported OS with one manager (RedHat 7) 16min 0 17min 33min
Test agent into all supported OS with one manager (RedHat 8) 13min 0 19min 32min
Test agent into all supported OS with one manager (RedHat 9) 16min 0 10min 26min
Test agent into all supported OS with one manager (Centos 7) 20min 0 18min 38min
Test agent into all supported OS with one manager (Centos 8) 14min 0 18min 32min
Test agent into all supported OS with one manager (Debian 11) 13min 0 18min 31min
Test agent into all supported OS with one manager (Debian 12) 13min 0 18min 31min
Test agent into all supported OS with one manager (Ubuntu 20.04) 18min 0 18min 36min
Test agent into all supported OS with one manager (Ubuntu 22.04) 13min 0 19min 32min
Test agent into all supported OS with one manager (Oracle 9) 13min 0 20min 23min
Test agent into all supported OS with one manager (Amazon Linux 2) 13min 0 20min 33min

AWS (1 Manager + 13 agents)

CASE Allocation Provision Testing Total
Test agent into all supported OS with one manager (RedHat 7) 5min 0 41min 46min
Test agent into all supported OS with one manager (RedHat 8) 5min 0 46min 51min
Test agent into all supported OS with one manager (RedHat 9) 8min 0 44min 56min
Test agent into all supported OS with one manager (Centos 7) 5min 0 43min 48min
Test agent into all supported OS with one manager (Centos 8) 5min 0 45min 50min
Test agent into all supported OS with one manager (Debian 10) 5min 0 41min 46min
Test agent into all supported OS with one manager (Debian 11) 6min 0 36min 42min
Test agent into all supported OS with one manager (Debian 12) 5min 0 48min 53min
Test agent into all supported OS with one manager (Ubuntu 20.04) None 0 44min None
Test agent into all supported OS with one manager (Ubuntu 22.04) 5min 0 44min 49min
Test agent into all supported OS with one manager (Oracle 9) 6min 0 41min 47min

2. Launch new battery of test after fixing the bugs #5125 (comment)

VAGRANT

(Antonio localhost)

CASE Allocation Provision Testing Total
Part 1: install,register,restart,stop,uninstall on all agents with clean up (1 manager + 7 agents) 10min 7min 17min 34min
Part 2: install,register,restart,stop,uninstall on all agents with clean up (1 manager + 6 agents) 7min 6min 17min 30min

(Federico localhost)

CASE Allocation Provision Testing Total
Part 1: install with provision and stop on all agents with clean up (1 manager + 7 agents) 12min 12min 13min 37min
Part 2: install with provision and stop on all agents with clean up (1 manager + 6 agents) 7min 15min 3min 25min

(Antonio localhost)

CASE Allocation Provision Testing Total
Part 1: install with provision and restart on all agents with clean up (1 manager + 7 agents) 7min 22min 4min 33min
Part 2: install with provision and restart on all agents with clean up (1 manager + 6 agents) 7min 12min 4min 23min
Part 1: install with provision and uninstall on all agents with clean up (1 manager + 7 agents) 7min 11min 14min 32min
Part 2: install with provision and uninstall on all agents with clean up (1 manager + 6 agents) 7min 13min 5min 25min

AWS

CASE Allocation Provision Testing Total
Part 1: install, register, restart,stop,uninstall on all agents with clean up (1 manager + 6 agents) 1min?? 1 ec2 only 2min 27min 30min
Part 2: install, register, restart,stop,uninstall on all agents with clean up (1 manager + 7 agents) 25seg ?? 1 ec2 only 2min 38min 40min 25seg
All: install with provision and stop on all agents with clean up (1 manager + 13 agents) 6min 27min 14min 47min
All: install with provision and restart on all agents with clean up (1 manager + 13 agents) 5min 27min 15min 47min
All: install with provision and uninstall on all agents with clean up (1 manager + 13 agents) 6min 27min 23min 56min

3. Central components tests

VAGRANT

(Antonio localhost)

CASE Allocation Provision Testing Total
12 managers (install,stop,restart,uninstall) 12min 0 56min 1h 8min

AWS

CASE Allocation Provision Testing Total
11 managers (install,stop,restart,uninstall) 3min 0 58min 1h 2min

Note:

Antonio Localhost

Lenovo ThinkPad T14 Gen 1
48Gib Memory
Intel® Core™ i5-10310U CPU @ 1.70GHz × 8
Ubuntu 22.04.3 LTS 64bit

Federico Localhost

Lenovo ThinkPad L15 Gen 1
32Gib Memory
Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
20.04.1-Ubuntu LTS 64bit

@pro-akim
Copy link
Member

Update

Waiting for some definitions to move to the next analysis.

@wazuhci wazuhci moved this from In progress to Blocked in Release 4.9.0 Apr 10, 2024
@wazuhci wazuhci moved this from Blocked to On hold in Release 4.9.0 Apr 10, 2024
@wazuhci wazuhci moved this from On hold to In progress in Release 4.9.0 Apr 11, 2024
@pro-akim
Copy link
Member

pro-akim commented Apr 11, 2024

Update

YAML
version: 0.1
description: This workflow is used to test agents deployment por DDT1 PoC
variables:
  agent-os:
    - linux-ubuntu-18.04-amd64
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-22.04-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-oracle-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-amazon-2-amd64
    - linux-amazon-2023-amd64
  manager-os: linux-debian-12-amd64
  infra-provider: aws
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager-os}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager-os}"
          - inventory-output: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
    on-error: "abort-all"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"

  # Unique agent allocate task
  - task: "allocate-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
    foreach:
      - variable: agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"

  # Unique manager provision task
  - task: "provision-manager-{manager-os}"
    description: "Provision the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - install:
            - component: wazuh-manager
              type: assistant
              version: 4.7.3
              live: True
    depends-on:
      - "allocate-manager-{manager-os}"
    on-error: "abort-all"

  # Generic agent provision task
  - task: "provision-install-{agent}"
    description: "Provision resources for the {agent} agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/agent-{agent}/inventory.yaml"
          - dependencies:
            - manager: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - install:
            - component: wazuh-agent
              type: package
              version: 4.7.3
              live: True
    depends-on:
      - "allocate-agent-{agent}"
      - "provision-manager-{manager-os}"
    foreach:
      - variable: agent-os
        as: agent

  # Generic agent test task
  - task: "run-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "stop,restart,uninstall"
          - component: "agent"
          - wazuh-version: "4.7.3"
          - wazuh-revision: "40714"
          - live: "True"
    foreach:
      - variable: agent-os
        as: agent
    depends-on:
      - "provision-install-{agent}"
1 Manager N Agent Allocation (Time) Provision (Time) Testing (Time) Clean-up (Time) Total (Time)
1 1 1m 5m 6m 3m 17m
1 6 3m 16m 18m 7m 44m
1 10 5m 22m 35m 12m 1h14m
1 13 5m 30m 41m 13m 1h29m

Time per Agents

1 Manager 1 Agents

[2024-04-11 14:50:30] [INFO] [540577] [MainThread] [workflow_engine]: Executing DAG tasks.
[2024-04-11 14:50:30] [INFO] [540577] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 14:50:30] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 14:50:53] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 23.20 seconds.
[2024-04-11 14:50:54] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 14:51:16] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 22.13 seconds.
[2024-04-11 14:51:16] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 14:56:01] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Finished task in 285.44 seconds.
[2024-04-11 14:56:01] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 14:57:35] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Finished task in 93.75 seconds.
[2024-04-11 14:57:35] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Starting task.
[2024-04-11 15:00:20] [INFO] [540577] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Finished task in 165.31 seconds.
[2024-04-11 15:00:20] [INFO] [540577] [MainThread] [workflow_engine]: Executing Reverse DAG tasks.
[2024-04-11 15:00:20] [INFO] [540577] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 15:00:20] [INFO] [540577] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 15:01:55] [INFO] [540577] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 94.53 seconds.
[2024-04-11 15:01:55] [INFO] [540577] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 15:02:43] [INFO] [540577] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 48.57 seconds.

1 Manager 6 Agents
[2024-04-11 14:00:58] [INFO] [522742] [MainThread] [workflow_engine]: Executing DAG tasks.
[2024-04-11 14:00:58] [INFO] [522742] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 14:00:58] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 14:01:20] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 21.84 seconds.
[2024-04-11 14:01:20] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 14:01:42] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 21.98 seconds.
[2024-04-11 14:01:42] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 14:02:04] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 22.62 seconds.
[2024-04-11 14:02:04] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 14:02:26] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 21.50 seconds.
[2024-04-11 14:02:26] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 14:02:48] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 21.85 seconds.
[2024-04-11 14:02:48] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 14:03:10] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 21.79 seconds.
[2024-04-11 14:03:10] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 14:03:32] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 22.79 seconds.
[2024-04-11 14:03:32] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 14:07:31] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Finished task in 238.49 seconds.
[2024-04-11 14:07:31] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 14:09:16] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Finished task in 105.35 seconds.
[2024-04-11 14:09:16] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 14:11:01] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Finished task in 104.45 seconds.
[2024-04-11 14:11:01] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 14:13:52] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Finished task in 170.92 seconds.
[2024-04-11 14:13:52] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Starting task.
[2024-04-11 14:15:31] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Finished task in 99.61 seconds.
[2024-04-11 14:15:31] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Starting task.
[2024-04-11 14:17:10] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Finished task in 98.37 seconds.
[2024-04-11 14:17:10] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Starting task.
[2024-04-11 14:19:45] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Finished task in 155.14 seconds.
[2024-04-11 14:19:45] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Starting task.
[2024-04-11 14:23:06] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Finished task in 201.39 seconds.
[2024-04-11 14:23:06] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Starting task.
[2024-04-11 14:26:06] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Finished task in 179.92 seconds.
[2024-04-11 14:26:06] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Starting task.
[2024-04-11 14:28:53] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Finished task in 166.76 seconds.
[2024-04-11 14:28:53] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Starting task.
[2024-04-11 14:31:23] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Finished task in 150.42 seconds.
[2024-04-11 14:31:23] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Starting task.
[2024-04-11 14:33:58] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Finished task in 154.51 seconds.
[2024-04-11 14:33:58] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Starting task.
[2024-04-11 14:37:01] [INFO] [522742] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Finished task in 183.30 seconds.
[2024-04-11 14:37:01] [INFO] [522742] [MainThread] [workflow_engine]: Executing Reverse DAG tasks.
[2024-04-11 14:37:01] [INFO] [522742] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 14:37:01] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 14:38:36] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 94.57 seconds.
[2024-04-11 14:38:36] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 14:39:40] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 63.96 seconds.
[2024-04-11 14:39:40] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 14:40:28] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 48.70 seconds.
[2024-04-11 14:40:28] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 14:41:02] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 33.76 seconds.
[2024-04-11 14:41:02] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 14:42:22] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 79.33 seconds.
[2024-04-11 14:42:22] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 14:43:10] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 48.70 seconds.
[2024-04-11 14:43:10] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 14:44:14] [INFO] [522742] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 64.04 seconds.
(deplo_test) akim@akim-PC:~/Desktop/test/wazuh-qa/deployability$ 


1 Manager 10 Agents
[2024-04-11 12:31:50] [INFO] [479394] [MainThread] [workflow_engine]: Executing DAG tasks.
[2024-04-11 12:31:50] [INFO] [479394] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 12:31:50] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 12:32:12] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 21.66 seconds.
[2024-04-11 12:32:12] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 12:32:34] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 21.91 seconds.
[2024-04-11 12:32:34] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 12:32:56] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 21.71 seconds.
[2024-04-11 12:32:56] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 12:33:17] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 21.45 seconds.
[2024-04-11 12:33:17] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 12:33:39] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 22.11 seconds.
[2024-04-11 12:33:39] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 12:34:02] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 22.56 seconds.
[2024-04-11 12:34:02] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Starting task.
[2024-04-11 12:34:27] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Finished task in 24.62 seconds.
[2024-04-11 12:34:27] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Starting task.
[2024-04-11 12:34:49] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Finished task in 22.24 seconds.
[2024-04-11 12:34:49] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 12:35:14] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 25.02 seconds.
[2024-04-11 12:35:14] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Starting task.
[2024-04-11 12:35:38] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Finished task in 24.15 seconds.
[2024-04-11 12:35:38] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Starting task.
[2024-04-11 12:36:01] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Finished task in 22.54 seconds.
[2024-04-11 12:36:01] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 12:40:00] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Finished task in 239.28 seconds.
[2024-04-11 12:40:00] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 12:41:57] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Finished task in 117.26 seconds.
[2024-04-11 12:41:57] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 12:43:47] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Finished task in 109.38 seconds.
[2024-04-11 12:43:47] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 12:45:22] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Finished task in 95.58 seconds.
[2024-04-11 12:45:22] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Starting task.
[2024-04-11 12:46:53] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Finished task in 90.92 seconds.
[2024-04-11 12:46:53] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Starting task.
[2024-04-11 12:48:29] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Finished task in 96.19 seconds.
[2024-04-11 12:48:29] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-oracle-9-amd64] Starting task.
[2024-04-11 12:50:10] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-oracle-9-amd64] Finished task in 100.89 seconds.
[2024-04-11 12:50:10] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-7-amd64] Starting task.
[2024-04-11 12:52:05] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-7-amd64] Finished task in 115.00 seconds.
[2024-04-11 12:52:05] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Starting task.
[2024-04-11 12:54:47] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Finished task in 162.15 seconds.
[2024-04-11 12:54:47] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-8-amd64] Starting task.
[2024-04-11 12:57:21] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-8-amd64] Finished task in 153.83 seconds.
[2024-04-11 12:57:21] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-9-amd64] Starting task.
[2024-04-11 12:58:58] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-9-amd64] Finished task in 96.60 seconds.
[2024-04-11 12:58:58] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Starting task.
[2024-04-11 13:02:22] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Finished task in 204.61 seconds.
[2024-04-11 13:02:22] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Starting task.
[2024-04-11 13:07:21] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Finished task in 298.50 seconds.
[2024-04-11 13:07:21] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Starting task.
[2024-04-11 13:10:20] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Finished task in 178.85 seconds.
[2024-04-11 13:10:20] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Starting task.
[2024-04-11 13:13:13] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Finished task in 172.73 seconds.
[2024-04-11 13:13:13] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Starting task.
[2024-04-11 13:16:11] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Finished task in 178.61 seconds.
[2024-04-11 13:16:11] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-oracle-9-amd64-tests] Starting task.
[2024-04-11 13:19:37] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-oracle-9-amd64-tests] Finished task in 206.21 seconds.
[2024-04-11 13:19:37] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-7-amd64-tests] Starting task.
[2024-04-11 13:22:57] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-7-amd64-tests] Finished task in 199.66 seconds.
[2024-04-11 13:22:57] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Starting task.
[2024-04-11 13:26:42] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Finished task in 224.96 seconds.
[2024-04-11 13:26:42] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-8-amd64-tests] Starting task.
[2024-04-11 13:30:29] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-8-amd64-tests] Finished task in 226.78 seconds.
[2024-04-11 13:30:29] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-9-amd64-tests] Starting task.
[2024-04-11 13:33:47] [INFO] [479394] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-9-amd64-tests] Finished task in 198.50 seconds.
[2024-04-11 13:33:47] [INFO] [479394] [MainThread] [workflow_engine]: Executing Reverse DAG tasks.
[2024-04-11 13:33:47] [INFO] [479394] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 13:33:47] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 13:34:51] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 63.80 seconds.
[2024-04-11 13:34:51] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 13:36:11] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 79.64 seconds.
[2024-04-11 13:36:11] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 13:37:15] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 64.11 seconds.
[2024-04-11 13:37:15] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 13:38:19] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 64.01 seconds.
[2024-04-11 13:38:19] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 13:39:23] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 64.42 seconds.
[2024-04-11 13:39:23] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Starting task.
[2024-04-11 13:40:27] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Finished task in 63.75 seconds.
[2024-04-11 13:40:27] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Starting task.
[2024-04-11 13:41:32] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Finished task in 64.58 seconds.
[2024-04-11 13:41:32] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 13:42:05] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 33.33 seconds.
[2024-04-11 13:42:05] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Starting task.
[2024-04-11 13:43:09] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Finished task in 63.68 seconds.
[2024-04-11 13:43:09] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Starting task.
[2024-04-11 13:44:28] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Finished task in 79.46 seconds.
[2024-04-11 13:44:28] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 13:45:02] [INFO] [479394] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 33.40 seconds.


1 Manager 13 Agents
[2024-04-11 10:56:48] [INFO] [458665] [MainThread] [workflow_engine]: Executing DAG tasks.
[2024-04-11 10:56:48] [INFO] [458665] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 10:56:48] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 10:57:10] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 21.66 seconds.
[2024-04-11 10:57:10] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 10:57:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 26.85 seconds.
[2024-04-11 10:57:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 10:57:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 21.73 seconds.
[2024-04-11 10:57:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 10:58:21] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 22.85 seconds.
[2024-04-11 10:58:21] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 10:58:43] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 21.59 seconds.
[2024-04-11 10:58:43] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 10:59:05] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 21.80 seconds.
[2024-04-11 10:59:05] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Starting task.
[2024-04-11 10:59:26] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Finished task in 21.12 seconds.
[2024-04-11 10:59:26] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Starting task.
[2024-04-11 10:59:47] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Finished task in 21.55 seconds.
[2024-04-11 10:59:47] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 11:00:10] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 22.60 seconds.
[2024-04-11 11:00:10] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-7-amd64] Starting task.
[2024-04-11 11:00:32] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-7-amd64] Finished task in 22.42 seconds.
[2024-04-11 11:00:32] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Starting task.
[2024-04-11 11:00:54] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Finished task in 22.00 seconds.
[2024-04-11 11:00:54] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Starting task.
[2024-04-11 11:01:16] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Finished task in 21.47 seconds.
[2024-04-11 11:01:16] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-amazon-2-amd64] Starting task.
[2024-04-11 11:01:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-amazon-2-amd64] Finished task in 21.37 seconds.
[2024-04-11 11:01:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-amazon-2023-amd64] Starting task.
[2024-04-11 11:01:59] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [allocate-agent-linux-amazon-2023-amd64] Finished task in 21.40 seconds.
[2024-04-11 11:01:59] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 11:07:45] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-debian-12-amd64] Finished task in 346.34 seconds.
[2024-04-11 11:07:45] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 11:09:11] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-18.04-amd64] Finished task in 85.77 seconds.
[2024-04-11 11:09:11] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 11:10:59] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-20.04-amd64] Finished task in 107.60 seconds.
[2024-04-11 11:10:59] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 11:12:40] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-ubuntu-22.04-amd64] Finished task in 101.13 seconds.
[2024-04-11 11:12:40] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Starting task.
[2024-04-11 11:14:14] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-10-amd64] Finished task in 94.35 seconds.
[2024-04-11 11:14:14] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Starting task.
[2024-04-11 11:16:11] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-debian-11-amd64] Finished task in 116.73 seconds.
[2024-04-11 11:16:11] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-oracle-9-amd64] Starting task.
[2024-04-11 11:17:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-oracle-9-amd64] Finished task in 107.32 seconds.
[2024-04-11 11:17:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-7-amd64] Starting task.
[2024-04-11 11:19:34] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-7-amd64] Finished task in 96.30 seconds.
[2024-04-11 11:19:34] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Starting task.
[2024-04-11 11:22:02] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-centos-8-amd64] Finished task in 147.98 seconds.
[2024-04-11 11:22:02] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-7-amd64] Starting task.
[2024-04-11 11:23:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-7-amd64] Finished task in 112.31 seconds.
[2024-04-11 11:23:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-8-amd64] Starting task.
[2024-04-11 11:26:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-8-amd64] Finished task in 162.27 seconds.
[2024-04-11 11:26:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-9-amd64] Starting task.
[2024-04-11 11:28:20] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-redhat-9-amd64] Finished task in 102.70 seconds.
[2024-04-11 11:28:20] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-amazon-2-amd64] Starting task.
[2024-04-11 11:29:26] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-amazon-2-amd64] Finished task in 65.94 seconds.
[2024-04-11 11:29:26] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-amazon-2023-amd64] Starting task.
[2024-04-11 11:31:30] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-install-linux-amazon-2023-amd64] Finished task in 124.61 seconds.
[2024-04-11 11:31:30] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Starting task.
[2024-04-11 11:34:52] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-18.04-amd64-tests] Finished task in 201.97 seconds.
[2024-04-11 11:34:52] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Starting task.
[2024-04-11 11:38:25] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-20.04-amd64-tests] Finished task in 212.99 seconds.
[2024-04-11 11:38:25] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Starting task.
[2024-04-11 11:41:44] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-ubuntu-22.04-amd64-tests] Finished task in 198.73 seconds.
[2024-04-11 11:41:44] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Starting task.
[2024-04-11 11:44:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-10-amd64-tests] Finished task in 172.98 seconds.
[2024-04-11 11:44:37] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Starting task.
[2024-04-11 11:47:41] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-debian-11-amd64-tests] Finished task in 183.72 seconds.
[2024-04-11 11:47:41] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-oracle-9-amd64-tests] Starting task.
[2024-04-11 11:51:06] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-oracle-9-amd64-tests] Finished task in 204.77 seconds.
[2024-04-11 11:51:06] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-7-amd64-tests] Starting task.
[2024-04-11 11:54:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-7-amd64-tests] Finished task in 228.96 seconds.
[2024-04-11 11:54:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Starting task.
[2024-04-11 11:58:31] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-centos-8-amd64-tests] Finished task in 216.39 seconds.
[2024-04-11 11:58:31] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-7-amd64-tests] Starting task.
[2024-04-11 12:01:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-7-amd64-tests] Finished task in 207.34 seconds.
[2024-04-11 12:01:58] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-8-amd64-tests] Starting task.
[2024-04-11 12:05:52] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-redhat-8-amd64-tests] Finished task in 233.61 seconds.
[2024-04-11 12:05:52] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-amazon-2-amd64-tests] Starting task.
[2024-04-11 12:08:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-amazon-2-amd64-tests] Finished task in 182.96 seconds.
[2024-04-11 12:08:55] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-amazon-2023-amd64-tests] Starting task.
[2024-04-11 12:12:20] [INFO] [458665] [ThreadPoolExecutor-0_0] [workflow_engine]: [run-agent-linux-amazon-2023-amd64-tests] Finished task in 205.54 seconds.
[2024-04-11 12:12:21] [INFO] [458665] [MainThread] [workflow_engine]: Executing Reverse DAG tasks.
[2024-04-11 12:12:21] [INFO] [458665] [MainThread] [workflow_engine]: Executing tasks in parallel.
[2024-04-11 12:12:21] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Starting task.
[2024-04-11 12:13:09] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-18.04-amd64] Finished task in 48.37 seconds.
[2024-04-11 12:13:09] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Starting task.
[2024-04-11 12:13:42] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-20.04-amd64] Finished task in 33.56 seconds.
[2024-04-11 12:13:42] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Starting task.
[2024-04-11 12:15:17] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-ubuntu-22.04-amd64] Finished task in 94.64 seconds.
[2024-04-11 12:15:17] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Starting task.
[2024-04-11 12:16:06] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-10-amd64] Finished task in 49.34 seconds.
[2024-04-11 12:16:06] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Starting task.
[2024-04-11 12:17:25] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-debian-11-amd64] Finished task in 78.94 seconds.
[2024-04-11 12:17:25] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Starting task.
[2024-04-11 12:18:30] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-oracle-9-amd64] Finished task in 64.07 seconds.
[2024-04-11 12:18:30] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Starting task.
[2024-04-11 12:20:04] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-7-amd64] Finished task in 94.73 seconds.
[2024-04-11 12:20:04] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Starting task.
[2024-04-11 12:21:09] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-centos-8-amd64] Finished task in 64.25 seconds.
[2024-04-11 12:21:09] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-7-amd64] Starting task.
[2024-04-11 12:22:28] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-7-amd64] Finished task in 79.54 seconds.
[2024-04-11 12:22:28] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Starting task.
[2024-04-11 12:23:32] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-8-amd64] Finished task in 63.95 seconds.
[2024-04-11 12:23:32] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Starting task.
[2024-04-11 12:24:06] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-redhat-9-amd64] Finished task in 33.86 seconds.
[2024-04-11 12:24:06] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-amazon-2-amd64] Starting task.
[2024-04-11 12:24:39] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-amazon-2-amd64] Finished task in 33.21 seconds.
[2024-04-11 12:24:39] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-amazon-2023-amd64] Starting task.
[2024-04-11 12:25:28] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-agent-linux-amazon-2023-amd64] Finished task in 48.52 seconds.
[2024-04-11 12:25:28] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-04-11 12:26:01] [INFO] [458665] [ThreadPoolExecutor-1_0] [workflow_engine]: [allocate-manager-linux-debian-12-amd64] Finished task in 33.71 seconds.


@pro-akim
Copy link
Member

pro-akim commented Apr 11, 2024

Update

YAML
version: 0.1
description: This workflow is used to test agents' deployment for DDT1 PoC
variables:
  manager-os:
    - linux-ubuntu-22.04-amd64
    - linux-ubuntu-18.04-amd64
    - linux-ubuntu-20.04-amd64
    - linux-amazon-2-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-oracle-9-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-debian-12-amd64
  infra-provider: aws
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-linux-ubuntu-22.04-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-ubuntu-22.04-amd64"
          - inventory-output: "{working-dir}/manager-linux-ubuntu-22.04-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-ubuntu-22.04-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-ubuntu-22.04-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-ubuntu-18.04-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-ubuntu-18.04-amd64"
          - inventory-output: "{working-dir}/manager-linux-ubuntu-18.04-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-ubuntu-18.04-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-ubuntu-18.04-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-ubuntu-20.04-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-ubuntu-20.04-amd64"
          - inventory-output: "{working-dir}/manager-linux-ubuntu-20.04-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-ubuntu-20.04-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-ubuntu-20.04-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-amazon-2-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-amazon-2-amd64"
          - inventory-output: "{working-dir}/manager-linux-amazon-2-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-amazon-2-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-amazon-2-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-redhat-7-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-redhat-7-amd64"
          - inventory-output: "{working-dir}/manager-linux-redhat-7-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-redhat-7-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-redhat-7-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-redhat-8-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-redhat-8-amd64"
          - inventory-output: "{working-dir}/manager-linux-redhat-8-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-redhat-8-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-redhat-8-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-redhat-9-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-redhat-9-amd64"
          - inventory-output: "{working-dir}/manager-linux-redhat-9-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-redhat-9-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-redhat-9-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-centos-7-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-centos-7-amd64"
          - inventory-output: "{working-dir}/manager-linux-centos-7-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-centos-7-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-centos-7-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-centos-8-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-centos-8-amd64"
          - inventory-output: "{working-dir}/manager-linux-centos-8-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-centos-8-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-centos-8-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-debian-10-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-debian-10-amd64"
          - inventory-output: "{working-dir}/manager-linux-debian-10-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-debian-10-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-debian-10-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-debian-11-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-debian-11-amd64"
          - inventory-output: "{working-dir}/manager-linux-debian-11-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-debian-11-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-debian-11-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-debian-12-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-debian-12-amd64"
          - inventory-output: "{working-dir}/manager-linux-debian-12-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-debian-12-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-debian-12-amd64/track.yaml"

  # Unique manager allocate task
  - task: "allocate-manager-linux-oracle-9-amd64"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "linux-oracle-9-amd64"
          - inventory-output: "{working-dir}/manager-linux-oracle-9-amd64/inventory.yaml"
          - track-output: "{working-dir}/manager-linux-oracle-9-amd64/track.yaml"
          - ssh-key: "<path_to_Ephemeral_key>"
          - label-termination-date: "1d"
          - label-team: "qa"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-linux-oracle-9-amd64/track.yaml"

  # Unique manager provision task
  - task: "provision-manager-linux-oracle-9-amd64"
    description: "Provision the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/manager-linux-oracle-9-amd64/inventory.yaml"
          - install:
            - component: tar
    depends-on:
      - "allocate-manager-linux-oracle-9-amd64"
    on-error: "abort-all"

  # Generic manager test task
  - task: "run-manager-tests"
    description: "Run tests install for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-linux-ubuntu-22.04-amd64/inventory.yaml"
            - wazuh-2: "{working-dir}/manager-linux-ubuntu-18.04-amd64/inventory.yaml"
            - wazuh-3: "{working-dir}/manager-linux-ubuntu-20.04-amd64/inventory.yaml"
            - wazuh-4: "{working-dir}/manager-linux-amazon-2-amd64/inventory.yaml"
            - wazuh-5: "{working-dir}/manager-linux-redhat-7-amd64/inventory.yaml"
            - wazuh-6: "{working-dir}/manager-linux-redhat-8-amd64/inventory.yaml"
            - wazuh-7: "{working-dir}/manager-linux-redhat-9-amd64/inventory.yaml"
            - wazuh-8: "{working-dir}/manager-linux-centos-7-amd64/inventory.yaml"
            - wazuh-9: "{working-dir}/manager-linux-centos-8-amd64/inventory.yaml"
            - wazuh-10: "{working-dir}/manager-linux-oracle-9-amd64/inventory.yaml"
            - wazuh-11: "{working-dir}/manager-linux-debian-10-amd64/inventory.yaml"
            - wazuh-12: "{working-dir}/manager-linux-debian-11-amd64/inventory.yaml"
            - wazuh-13: "{working-dir}/manager-linux-debian-12-amd64/inventory.yaml"
          - tests: "install,restart,stop,uninstall"
          - component: "manager"
          - wazuh-version: "4.7.3"
          - wazuh-revision: "40714"
          - live: "True"
    depends-on:
      - "provision-manager-linux-oracle-9-amd64"
      - "allocate-manager-linux-ubuntu-22.04-amd64"
      - "allocate-manager-linux-ubuntu-18.04-amd64"
      - "allocate-manager-linux-ubuntu-20.04-amd64"
      - "allocate-manager-linux-amazon-2-amd64"
      - "allocate-manager-linux-redhat-7-amd64"
      - "allocate-manager-linux-redhat-8-amd64"
      - "allocate-manager-linux-redhat-9-amd64"
      - "allocate-manager-linux-centos-7-amd64"
      - "allocate-manager-linux-centos-8-amd64"
      - "allocate-manager-linux-oracle-9-amd64"
      - "allocate-manager-linux-debian-10-amd64"
      - "allocate-manager-linux-debian-11-amd64"
      - "allocate-manager-linux-debian-12-amd64"
      - "allocate-manager-linux-oracle-9-amd64"
N Manager 0 Agent Allocation (Time) Provision (Time) Testing (Time) Clean-up (Time) Total (Time)
1 0 -- -- -- -- --
6 0 -- -- -- -- --
10 0 -- -- -- -- --
13 0 -- -- -- -- --
1 Managers 0 Agents



6 Managers 0 Agents



10 Managers 0 Agents



13 Managers 0 Agents




@pro-akim I modified the YAML input to fix some errors, I updated it, and here are the results:

@pro-akim
Copy link
Member

pro-akim commented Apr 11, 2024

Update

Some error found in the provision:

[2024-04-11 17:44:00] [DEBUG] [585081] [ThreadPoolExecutor-0_0] [workflow_engine]: Running task "provision-manager-linux-oracle-9-amd64" with arguments: ['modules/provision/main.py', '--inventory=/tmp/dtt1-poc/manager-linux-oracle-9-amd64/inventory.yaml', "--install={'component': 'tar'}"]
[2024-04-11 17:44:03] [DEBUG] [585081] [ThreadPoolExecutor-0_0] [workflow_engine]: Finished task "provision-manager-linux-oracle-9-amd64" execution with result:
[2024-04-11 17:44:00] [DEBUG] ANSIBLE: Using inventory: {'all': {'hosts': {'ec2-52-23-206-224.compute-1.amazonaws.com': {'ansible_port': 2200, 'ansible_user': 'ec2-user', 'ansible_ssh_private_key_file': '/home/akim/Desktop/personal/Ephemeral'}}}}
[2024-04-11 17:44:00] [DEBUG] ANSIBLE: Running playbook: {'hosts': 'ec2-52-23-206-224.compute-1.amazonaws.com', 'become': True, 'gather_facts': True, 'tasks': [{'name': 'Capture ansible_os_family', 'set_fact': {'ansible_os_family': "{{ ansible_facts['distribution_file_variety'] }}", 'cacheable': 'yes'}}]}
No config file found; using defaults

PLAY [ec2-52-23-206-224.compute-1.amazonaws.com] *******************************

TASK [Gathering Facts] *********************************************************
fatal: [ec2-52-23-206-224.compute-1.amazonaws.com]: UNREACHABLE! => changed=false 
  msg: 'Failed to connect to the host via ssh: ssh: connect to host ec2-52-23-206-224.compute-1.amazonaws.com port 2200: No route to host'
  unreachable: true

PLAY RECAP *********************************************************************
ec2-52-23-206-224.compute-1.amazonaws.com : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0   
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: Playbook {'hosts': 'ec2-52-23-206-224.compute-1.amazonaws.com', 'become': True, 'gather_facts': True, 'tasks': [{'name': 'Capture ansible_os_family', 'set_fact': {'ansible_os_family': "{{ ansible_facts['distribution_file_variety'] }}", 'cacheable': 'yes'}}]} finished with status {'skipped': {}, 'ok': {}, 'dark': {'ec2-52-23-206-224.compute-1.amazonaws.com': 1}, 'failures': {}, 'ignored': {}, 'rescued': {}, 'processed': {'ec2-52-23-206-224.compute-1.amazonaws.com': 1}, 'changed': {}}
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: Templates found: ['install.j2']
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: Rendering template install.j2
[2024-04-11 17:44:02] [WARNING] ANSIBLE: Template install.j2 not rendered
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: []
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: Using inventory: {'all': {'hosts': {'ec2-52-23-206-224.compute-1.amazonaws.com': {'ansible_port': 2200, 'ansible_user': 'ec2-user', 'ansible_ssh_private_key_file': '/home/akim/Desktop/personal/Ephemeral'}}}}
[2024-04-11 17:44:02] [DEBUG] ANSIBLE: Running playbook: {'hosts': 'ec2-52-23-206-224.compute-1.amazonaws.com', 'become': True, 'gather_facts': True, 'tasks': []}
No config file found; using defaults

PLAY [ec2-52-23-206-224.compute-1.amazonaws.com] *******************************

TASK [Gathering Facts] *********************************************************
fatal: [ec2-52-23-206-224.compute-1.amazonaws.com]: UNREACHABLE! => changed=false 
  msg: 'Failed to connect to the host via ssh: ssh: connect to host ec2-52-23-206-224.compute-1.amazonaws.com port 2200: No route to host'
  unreachable: true

PLAY RECAP *********************************************************************
ec2-52-23-206-224.compute-1.amazonaws.com : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0   
[2024-04-11 17:44:03] [DEBUG] ANSIBLE: Playbook {'hosts': 'ec2-52-23-206-224.compute-1.amazonaws.com', 'become': True, 'gather_facts': True, 'tasks': []} finished with status {'skipped': {}, 'ok': {}, 'dark': {'ec2-52-23-206-224.compute-1.amazonaws.com': 1}, 'failures': {}, 'ignored': {}, 'rescued': {}, 'processed': {'ec2-52-23-206-224.compute-1.amazonaws.com': 1}, 'changed': {}}

[2024-04-11 17:44:03] [INFO] [585081] [ThreadPoolExecutor-0_0] [workflow_engine]: [provision-manager-linux-oracle-9-amd64] Finished task in 2.86 seconds.
[root@ip-172-31-90-222 ec2-user]# uname -a
Linux ip-172-31-90-222.ec2.internal 5.15.0-101.103.2.1.el9uek.x86_64 #2 SMP Tue May 2 01:10:45 PDT 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@ip-172-31-90-222 ec2-user]# tar --version
bash: tar: command not found

Note

The EC2 is being provisioned but it is still not approachable by the provision, this error is related to that unavailability.

The Allocation module will have to check the EC2 before moving to the next step, then this issue will be blocked until that update.

Related issue: #5198

@wazuhci wazuhci moved this from In progress to Blocked in Release 4.9.0 Apr 11, 2024
@rauldpm
Copy link
Member Author

rauldpm commented Apr 15, 2024

After the daily meeting today, it has been discussed the time results, these comment result times include the stack (Wazuh manager, Filebeat, Wazuh dashboard, and Wazuh indexer) but the Testing module is only testing the Wazuh manager

The original idea of this issue was to check the flow using the Wazuh manager and Wazuh agent, we need to review this behavior as the flow should allow provisioning of the stack components individually, for example:

  • Use only a Wazuh manager and 1 Wazuh agent
  • Use only a Wazuh manager and N Wazuh agent
  • Use a Wazuh manager cluster (N nodes) with 1 agent
  • Use a Wazuh manager cluster (N nodes) with M agent

Those cases should contemplate installing the Filebeat, Wazuh dashboard, and Wazuh indexer (single or cluster), so the provision should generate certificates and copy them between nodes, also, the AIO deployment should be considered

If any of those cases are not contemplated in the current development, we should create an issue and discuss if it should be added for DTT1 or DTT2

@rauldpm
Copy link
Member Author

rauldpm commented Apr 16, 2024

Moved this issue to DTT1 as we need to test the threading fix

@rauldpm rauldpm changed the title Post DTT1 - Execution time analysis DTT1 - Execution time analysis Apr 16, 2024
@rauldpm
Copy link
Member Author

rauldpm commented Apr 17, 2024

Updated #5191 (comment) with AWS results

Due to the thread bug issue, this issue will be edited so it reports the following data:

  • Vagrant concurrent tests
  • AWS concurrent tests
  • Vagrant parallel tests
  • AWS parallels tests

The parallel tests will have to report the same test cases (1-N, M-1) but for multiple threads {2, 4, 6, 8, 10), with this data, we will be able to determine which AWS instance type we need for the Jenkins CI

Blocked as internal due to We need to finish all other issues to have stable data

@rauldpm
Copy link
Member Author

rauldpm commented Apr 23, 2024

Moved ETA to 30/04/2024 as we need all DTT1 changes to test it correctly (main ETA 29/04/2024)

@rauldpm
Copy link
Member Author

rauldpm commented Apr 25, 2024

Moved ETA to 02/05/2024 as we need time to test the main branch: #4495 (comment)

@wazuhci wazuhci moved this from Blocked to In progress in Release 4.9.0 May 8, 2024
@mhamra
Copy link
Contributor

mhamra commented May 8, 2024

TEST PLAN - ETA May 15

Testing Plan Guideline

  • Tests to execute
    • Agents: We will test one Wazuh manager with all available agent combinations of architectures (AMD, ARM)/distributions (DEB, RPM)/OS (Linux, Windows, MacOS). We will execute all available test sets for the agent.
    • Managers: We will test all available manager architectures/OS combinations.
    • AIO: We will test all available manager architectures/OS combinations.
  • No ARM MacOS test will be executed.
  • The workflow files of the tests will use the AWS provider only; the workflows will not use the Vagrant provider.
  • The tests will execute separate runs setting the workflow's --thread parameter with values 2, 3, 4 (parallel threads)

Test mix table and time metrics

Test Threads Allocation (Time) Provision (Time) Testing (Time) Clean-up (Time) Total (Time)
Agents 2 -- -- -- -- --
3 -- -- -- -- --
4 -- -- -- -- --
Managers 2 -- -- -- --
3 -- -- -- --
4 -- -- -- --
AIO 2 -- -- -- -- --
3 -- -- -- -- --
4 -- -- -- -- --

Workflow files

AGENTS

Test Agents workflow file TBD

PLATFORMS:

  • linux-redhat-7-amd64
  • linux-redhat-7-arm64
  • linux-redhat-8-amd64
  • linux-redhat-8-arm64
  • linux-redhat-9-amd64
  • linux-redhat-9-arm64
  • linux-centos-7-amd64
  • linux-centos-7-arm64
  • linux-centos-8-amd64
  • linux-centos-8-arm64
  • linux-debian-10-amd64
  • linux-debian-10-arm64
  • linux-debian-11-amd64
  • linux-debian-11-arm64
  • linux-debian-12-amd64
  • linux-debian-12-arm64
  • linux-ubuntu-22.04-amd64
  • linux-ubuntu-22.04-arm64
  • linux-ubuntu-18.04-amd64
  • linux-ubuntu-18.04-arm64
  • linux-ubuntu-20.04-amd64
  • linux-ubuntu-20.04-arm64
  • linux-oracle-9-amd64
  • linux-opensuse-15-amd64
  • linux-amazon-2-amd64
  • linux-amazon-2-arm64
  • linux-amazon-2023-amd64
  • linux-amazon-2023-arm64
  • windows-desktop-10-amd64
  • windows-server-2012r2-amd64
  • windows-server-2016-amd64
  • windows-server-2019-amd64
  • windows-server-2022-amd64
  • macos-ventura-13.4.1-amd64
  • macos-sonoma-14.4.1-amd64

Agent platform not included in the tests

  • Windows ARM
  • MacOS ARM.
  • Oracle Linux 9 arm
  • Opensuse 15 arm

MANAGERS

Test Managers workflow file TBD

PLATFORMS: (TBD)

  • PLAT 1
  • PLAT 2
  • ETC

AIO

Test AIO workflow file TBD

PLATFORMS: (TBD)

  • PLAT 1
  • PLAT 2
  • ETC

@rauldpm rauldpm self-assigned this May 9, 2024
@wazuhci wazuhci moved this from In progress to On hold in Release 4.9.0 May 9, 2024
@wazuhci wazuhci moved this from On hold to Blocked in Release 4.9.0 May 16, 2024
@rauldpm
Copy link
Member Author

rauldpm commented Jun 16, 2024

Issue unblocked, as the 17 June is a holiday in Argentina, the issue's ETA is moved to 18 June, we will do general testing (each test will launch all available systems), for each deployment type (Agents, clusters, etc)

@fcaffieri please provide a log file for each test and an execution duration time for each test

@wazuhci wazuhci moved this from Blocked to On hold in Release 4.9.0 Jun 16, 2024
@wazuhci wazuhci moved this from On hold to In progress in Release 4.9.0 Jun 17, 2024
@pro-akim
Copy link
Member

pro-akim commented Jun 17, 2024

Update

Tests

Agent tests AWS --threads=4 Agent 4.7.4 live = False

YAML
version: 0.1
description: This workflow is used to test agents deployment for DDT1 PoC
variables:
  agent-os:
    - linux-redhat-7-amd64
    - linux-redhat-7-arm64
    - linux-redhat-8-amd64
    - linux-redhat-8-arm64
    - linux-redhat-9-amd64
    - linux-redhat-9-arm64
    - linux-centos-7-amd64
    - linux-centos-7-arm64
    - linux-centos-8-amd64
    - linux-centos-8-arm64
    - linux-debian-10-amd64
    - linux-debian-10-arm64
    - linux-debian-11-amd64
    - linux-debian-11-arm64
    - linux-debian-12-amd64
    - linux-debian-12-arm64
    - linux-ubuntu-22.04-amd64
    - linux-ubuntu-22.04-arm64
    - linux-ubuntu-18.04-amd64
    - linux-ubuntu-18.04-arm64
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-20.04-arm64
    - linux-oracle-9-amd64
    - linux-opensuse-15-amd64
    - linux-amazon-2-amd64
    - linux-amazon-2-arm64
    - linux-amazon-2023-amd64
    - linux-amazon-2023-arm64

  windows-agent-os:
    - windows-desktop-10-amd64
    - windows-server-2012r2-amd64
    - windows-server-2016-amd64
    - windows-server-2019-amd64
    - windows-server-2022-amd64

  macos-agent-os:
    - macos-ventura-13-amd64
    - macos-sonoma-14-amd64

  manager-os: linux-ubuntu-22.04-amd64
  infra-provider: aws
  macos-infra-provider: vagrant
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager-os}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager-os}"
          - inventory-output: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"

  # Unique manager provision task
  - task: "provision-manager-{manager-os}"
    description: "Provision the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - install:
            - component: wazuh-manager
              type: assistant
              version: 4.7.4
              live: False
    depends-on:
      - "allocate-manager-{manager-os}"
    on-error: "abort-all"


  # Unique agent allocate task
  - task: "allocate-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.7.4"
          - wazuh-revision: "40717"
          - live: False
    foreach:
      - variable: agent-os
        as: agent
    depends-on:
      - "allocate-agent-{agent}"
      - "provision-manager-{manager-os}"



  # Unique agent allocate task
  - task: "allocate-macos-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{macos-infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: macos-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-macos-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.7.4"
          - wazuh-revision: "40717"
          - live: False
    foreach:
      - variable: macos-agent-os
        as: agent
    depends-on:
      - "allocate-macos-agent-{agent}"
      - "provision-manager-{manager-os}"


  # Unique agent allocate task
  - task: "allocate-windows-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: windows-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-windows-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.7.4"
          - wazuh-revision: "40717"
          - live: False
    foreach:
      - variable: windows-agent-os
        as: agent
    depends-on:
      - "allocate-windows-agent-{agent}"
      - "provision-manager-{manager-os}"

ERROR details 🔴
[2024-06-17 16:31:16] [INFO] [840971] [ThreadPoolExecutor-0_2] [jobflow]: [run-windows-agent-windows-server-2022-amd64-tests] Starting task.
[2024-06-17 16:36:29] [ERROR] [840971] [ThreadPoolExecutor-0_2] [jobflow]: [run-windows-agent-windows-server-2022-amd64-tests] Task failed with error: Error executing process task Traceback (most recent call last):
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/main.py", line 30, in <module>
    Tester.run(InputPayload(**vars(parse_arguments())))
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 61, in run
    cls._run_tests(payload.tests, ansible, extra_vars)
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 102, in _run_tests
    raise Exception(f"Test {test} failed with error: {event['stdout']}")
Exception: Test install failed with error: fatal: [localhost]: FAILED! => changed=true 
  cmd:
  - python3
  - -m
  - pytest
  - modules/testing/tests/test_agent/test_install.py
  - -v
  - --wazuh_version=4.7.4
  - --wazuh_revision=40717
  - --component=agent
  - --dependencies={}
  - '--targets={wazuh-1: /tmp/dtt1-poc/manager-linux-ubuntu-22.04-amd64/inventory.yaml, agent: /tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml}'
  - --live=False
  - -s
  delta: '0:05:01.496765'
  end: '2024-06-17 16:36:29.381663'
  msg: non-zero return code
  rc: 1
  start: '2024-06-17 16:31:27.884898'
  stderr: ''
  stderr_lines: <omitted>
  stdout: |-
    [37m[2024-06-17 16:31:28] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'[0m
    [37m[2024-06-17 16:31:28] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'[0m
    ============================= test session starts ==============================
    platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0 -- /home/akim/Desktop/venvs/5191-test/bin/python3
    cachedir: .pytest_cache
    rootdir: /home/akim/Desktop/wazuh-qa/deployability/modules
    collecting ... collected 2 items
  
    modules/testing/tests/test_agent/test_install.py::test_installation [32m[2024-06-17 16:31:28] [INFO] TESTER: Checking connection to server-2022[0m
    [33m[2024-06-17 16:31:28] [WARNING] TESTER: Error on attempt 1 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:31:58] [WARNING] TESTER: Error on attempt 2 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:32:28] [WARNING] TESTER: Error on attempt 3 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:32:58] [WARNING] TESTER: Error on attempt 4 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:33:28] [WARNING] TESTER: Error on attempt 5 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:33:58] [WARNING] TESTER: Error on attempt 6 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:34:28] [WARNING] TESTER: Error on attempt 7 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:34:58] [WARNING] TESTER: Error on attempt 8 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:35:28] [WARNING] TESTER: Error on attempt 9 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [33m[2024-06-17 16:35:59] [WARNING] TESTER: Error on attempt 10 of 10: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them[0m
    [31m[2024-06-17 16:36:29] [ERROR] TESTER: Connection attempts failed after 10 tries. Connection timeout in server-2022[0m
    ERROR
    modules/testing/tests/test_agent/test_install.py::test_status ERROR
  
    ==================================== ERRORS ====================================
    _____________________ ERROR at setup of test_installation ______________________
  
    data = {'host': 'ec2-52-91-243-79.compute-1.amazonaws.com', 'password': 'u9zAqY4UVlX', 'port': 5986, 'private_key_path': None, ...}
    command = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def _execute_command(data: ConectionInventory, command) -> dict:
            if data.get('port') == 5986:
                protocol = 'https'
            else:
                protocol = 'http'
  
            endpoint_url = f"{protocol}://{data.get('host')}:{data.get('port')}"
  
            try:
                session = winrm.Session(endpoint_url, auth=(data.get('username'), data.get('password')),transport='ntlm', server_cert_validation='ignore')
    >           ret = session.run_ps(command)
  
    modules/testing/tests/helpers/executor.py:75:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/__init__.py:52: in run_ps
        rs = self.run_cmd('powershell -encodedcommand {0}'.format(encoded_ps))
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/__init__.py:39: in run_cmd
        shell_id = self.protocol.open_shell()
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/protocol.py:166: in open_shell
        res = self.send_message(xmltodict.unparse(req))
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/protocol.py:243: in send_message
        resp = self.transport.send_message(message)
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:310: in send_message
        self.build_session()
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:256: in build_session
        ntlm_args = self._get_args(man_args, opt_args, HttpNtlmAuth.__init__)
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:349: in _get_args
        argspec = set(inspect.getargspec(function).args)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    func = <function HttpNtlmAuth.__init__ at 0x7d6f80ea7520>
  
        def getargspec(func):
            """Get the names and default values of a function's parameters.
  
            A tuple of four things is returned: (args, varargs, keywords, defaults).
            'args' is a list of the argument names, including keyword-only argument names.
            'varargs' and 'keywords' are the names of the * and ** parameters or None.
            'defaults' is an n-tuple of the default values of the last n parameters.
  
            This function is deprecated, as it does not support annotations or
            keyword-only parameters and will raise ValueError if either is present
            on the supplied callable.
  
            For a more structured introspection API, use inspect.signature() instead.
  
            Alternatively, use getfullargspec() for an API with a similar namedtuple
            based interface, but full support for annotations and keyword-only
            parameters.
  
            Deprecated since Python 3.5, use `inspect.getfullargspec()`.
            """
            warnings.warn("inspect.getargspec() is deprecated since Python 3.0, "
                          "use inspect.signature() or inspect.getfullargspec()",
                          DeprecationWarning, stacklevel=2)
            args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = \
                getfullargspec(func)
            if kwonlyargs or ann:
    >           raise ValueError("Function has keyword-only parameters or annotations"
                                 ", use inspect.signature() API which can support them")
    E           ValueError: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    /usr/lib/python3.10/inspect.py:1237: ValueError
  
    During handling of the above exception, another exception occurred:
  
    inventory_path = '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'
    commands = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def execute_commands(inventory_path, commands) -> dict:
            executor = ConnectionManager._get_executor(inventory_path)
            if isinstance(commands, str):
                try:
    >               result = executor._execute_command(ConectionInventory._get_inventory_data(inventory_path), commands)
  
    modules/testing/tests/helpers/executor.py:52:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    data = {'host': 'ec2-52-91-243-79.compute-1.amazonaws.com', 'password': 'u9zAqY4UVlX', 'port': 5986, 'private_key_path': None, ...}
    command = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def _execute_command(data: ConectionInventory, command) -> dict:
            if data.get('port') == 5986:
                protocol = 'https'
            else:
                protocol = 'http'
  
            endpoint_url = f"{protocol}://{data.get('host')}:{data.get('port')}"
  
            try:
                session = winrm.Session(endpoint_url, auth=(data.get('username'), data.get('password')),transport='ntlm', server_cert_validation='ignore')
                ret = session.run_ps(command)
  
                if ret.status_code == 0:
                    return {'success': True, 'output': ret.std_out.decode('utf-8').strip()}
                else:
                    return {'success': False, 'output': ret.std_err.decode('utf-8').strip()}
            except Exception as e:
    >           raise Exception(f'Error executing command: {command} with error: {e}')
    E           Exception: Error executing command: Get-Service -Name 'Wazuh' with error: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    modules/testing/tests/helpers/executor.py:82: Exception
  
    During handling of the above exception, another exception occurred:
  
    wazuh_params = {'agents': {'agent-windows-server-2022-amd64': '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'}, 'dashb...entory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-ubuntu-22.04-amd64/inventory.yaml'], ...}
  
        @pytest.fixture(scope="module", autouse=True)
        def setup_test_environment(wazuh_params):
            targets = wazuh_params['targets']
            # Clean the string and split it into key-value pairs
            targets = targets.replace(' ', '')
            targets = targets.replace('  ', '')
            pairs = [pair.strip() for pair in targets.strip('{}').split(',')]
            targets_dict = dict(pair.split(':') for pair in pairs)
  
            wazuh_params['master'] = targets_dict.get('wazuh-1')
            wazuh_params['workers'] = [value for key, value in targets_dict.items() if key.startswith('wazuh-') and key != 'wazuh-1']
            wazuh_params['agents'] = [value for key, value in targets_dict.items() if key.startswith('agent')]
            wazuh_params['indexers'] = [value for key, value in targets_dict.items() if key.startswith('node-')]
            wazuh_params['dashboard'] = targets_dict.get('dashboard', wazuh_params['master'])
  
            # If there are no indexers, we choose wazuh-1 by default
            if not wazuh_params['indexers']:
                wazuh_params['indexers'].append(wazuh_params['master'])
            wazuh_params['managers'] = {key: value for key, value in targets_dict.items() if key.startswith('wazuh-')}
            wazuh_params['agents'] = {key + '-' + re.findall(r'agent-(.*?)/', value)[0].replace('.',''): value for key, value in targets_dict.items() if key.startswith('agent')}
  
            updated_agents = {}
            for agent_name, agent_params in wazuh_params['agents'].items():
                Utils.check_inventory_connection(agent_params)
    >           if GeneralComponentActions.is_component_active(agent_params, 'wazuh-agent') and GeneralComponentActions.has_agent_client_keys(agent_params):
  
    modules/testing/tests/test_agent/test_install.py:56:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    modules/testing/tests/helpers/generic.py:871: in is_component_active
        result = ConnectionManager.execute_commands(inventory_path, "Get-Service -Name 'Wazuh'")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    inventory_path = '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'
    commands = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def execute_commands(inventory_path, commands) -> dict:
            executor = ConnectionManager._get_executor(inventory_path)
            if isinstance(commands, str):
                try:
                    result = executor._execute_command(ConectionInventory._get_inventory_data(inventory_path), commands)
                except Exception as e:
    >               raise Exception(f'Error executing command: {commands} with error: {e}')
    E               Exception: Error executing command: Get-Service -Name 'Wazuh' with error: Error executing command: Get-Service -Name 'Wazuh' with error: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    modules/testing/tests/helpers/executor.py:54: Exception
    ________________________ ERROR at setup of test_status _________________________
  
    data = {'host': 'ec2-52-91-243-79.compute-1.amazonaws.com', 'password': 'u9zAqY4UVlX', 'port': 5986, 'private_key_path': None, ...}
    command = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def _execute_command(data: ConectionInventory, command) -> dict:
            if data.get('port') == 5986:
                protocol = 'https'
            else:
                protocol = 'http'
  
            endpoint_url = f"{protocol}://{data.get('host')}:{data.get('port')}"
  
            try:
                session = winrm.Session(endpoint_url, auth=(data.get('username'), data.get('password')),transport='ntlm', server_cert_validation='ignore')
    >           ret = session.run_ps(command)
  
    modules/testing/tests/helpers/executor.py:75:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/__init__.py:52: in run_ps
        rs = self.run_cmd('powershell -encodedcommand {0}'.format(encoded_ps))
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/__init__.py:39: in run_cmd
        shell_id = self.protocol.open_shell()
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/protocol.py:166: in open_shell
        res = self.send_message(xmltodict.unparse(req))
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/protocol.py:243: in send_message
        resp = self.transport.send_message(message)
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:310: in send_message
        self.build_session()
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:256: in build_session
        ntlm_args = self._get_args(man_args, opt_args, HttpNtlmAuth.__init__)
    ../../venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:349: in _get_args
        argspec = set(inspect.getargspec(function).args)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    func = <function HttpNtlmAuth.__init__ at 0x7d6f80ea7520>
  
        def getargspec(func):
            """Get the names and default values of a function's parameters.
  
            A tuple of four things is returned: (args, varargs, keywords, defaults).
            'args' is a list of the argument names, including keyword-only argument names.
            'varargs' and 'keywords' are the names of the * and ** parameters or None.
            'defaults' is an n-tuple of the default values of the last n parameters.
  
            This function is deprecated, as it does not support annotations or
            keyword-only parameters and will raise ValueError if either is present
            on the supplied callable.
  
            For a more structured introspection API, use inspect.signature() instead.
  
            Alternatively, use getfullargspec() for an API with a similar namedtuple
            based interface, but full support for annotations and keyword-only
            parameters.
  
            Deprecated since Python 3.5, use `inspect.getfullargspec()`.
            """
            warnings.warn("inspect.getargspec() is deprecated since Python 3.0, "
                          "use inspect.signature() or inspect.getfullargspec()",
                          DeprecationWarning, stacklevel=2)
            args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = \
                getfullargspec(func)
            if kwonlyargs or ann:
    >           raise ValueError("Function has keyword-only parameters or annotations"
                                 ", use inspect.signature() API which can support them")
    E           ValueError: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    /usr/lib/python3.10/inspect.py:1237: ValueError
  
    During handling of the above exception, another exception occurred:
  
    inventory_path = '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'
    commands = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def execute_commands(inventory_path, commands) -> dict:
            executor = ConnectionManager._get_executor(inventory_path)
            if isinstance(commands, str):
                try:
    >               result = executor._execute_command(ConectionInventory._get_inventory_data(inventory_path), commands)
  
    modules/testing/tests/helpers/executor.py:52:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    data = {'host': 'ec2-52-91-243-79.compute-1.amazonaws.com', 'password': 'u9zAqY4UVlX', 'port': 5986, 'private_key_path': None, ...}
    command = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def _execute_command(data: ConectionInventory, command) -> dict:
            if data.get('port') == 5986:
                protocol = 'https'
            else:
                protocol = 'http'
  
            endpoint_url = f"{protocol}://{data.get('host')}:{data.get('port')}"
  
            try:
                session = winrm.Session(endpoint_url, auth=(data.get('username'), data.get('password')),transport='ntlm', server_cert_validation='ignore')
                ret = session.run_ps(command)
  
                if ret.status_code == 0:
                    return {'success': True, 'output': ret.std_out.decode('utf-8').strip()}
                else:
                    return {'success': False, 'output': ret.std_err.decode('utf-8').strip()}
            except Exception as e:
    >           raise Exception(f'Error executing command: {command} with error: {e}')
    E           Exception: Error executing command: Get-Service -Name 'Wazuh' with error: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    modules/testing/tests/helpers/executor.py:82: Exception
  
    During handling of the above exception, another exception occurred:
  
    wazuh_params = {'agents': {'agent-windows-server-2022-amd64': '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'}, 'dashb...entory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-ubuntu-22.04-amd64/inventory.yaml'], ...}
  
        @pytest.fixture(scope="module", autouse=True)
        def setup_test_environment(wazuh_params):
            targets = wazuh_params['targets']
            # Clean the string and split it into key-value pairs
            targets = targets.replace(' ', '')
            targets = targets.replace('  ', '')
            pairs = [pair.strip() for pair in targets.strip('{}').split(',')]
            targets_dict = dict(pair.split(':') for pair in pairs)
  
            wazuh_params['master'] = targets_dict.get('wazuh-1')
            wazuh_params['workers'] = [value for key, value in targets_dict.items() if key.startswith('wazuh-') and key != 'wazuh-1']
            wazuh_params['agents'] = [value for key, value in targets_dict.items() if key.startswith('agent')]
            wazuh_params['indexers'] = [value for key, value in targets_dict.items() if key.startswith('node-')]
            wazuh_params['dashboard'] = targets_dict.get('dashboard', wazuh_params['master'])
  
            # If there are no indexers, we choose wazuh-1 by default
            if not wazuh_params['indexers']:
                wazuh_params['indexers'].append(wazuh_params['master'])
            wazuh_params['managers'] = {key: value for key, value in targets_dict.items() if key.startswith('wazuh-')}
            wazuh_params['agents'] = {key + '-' + re.findall(r'agent-(.*?)/', value)[0].replace('.',''): value for key, value in targets_dict.items() if key.startswith('agent')}
  
            updated_agents = {}
            for agent_name, agent_params in wazuh_params['agents'].items():
                Utils.check_inventory_connection(agent_params)
    >           if GeneralComponentActions.is_component_active(agent_params, 'wazuh-agent') and GeneralComponentActions.has_agent_client_keys(agent_params):
  
    modules/testing/tests/test_agent/test_install.py:56:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    modules/testing/tests/helpers/generic.py:871: in is_component_active
        result = ConnectionManager.execute_commands(inventory_path, "Get-Service -Name 'Wazuh'")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
    inventory_path = '/tmp/dtt1-poc/agent-windows-server-2022-amd64/inventory.yaml'
    commands = "Get-Service -Name 'Wazuh'"
  
        @staticmethod
        def execute_commands(inventory_path, commands) -> dict:
            executor = ConnectionManager._get_executor(inventory_path)
            if isinstance(commands, str):
                try:
                    result = executor._execute_command(ConectionInventory._get_inventory_data(inventory_path), commands)
                except Exception as e:
    >               raise Exception(f'Error executing command: {commands} with error: {e}')
    E               Exception: Error executing command: Get-Service -Name 'Wazuh' with error: Error executing command: Get-Service -Name 'Wazuh' with error: Function has keyword-only parameters or annotations, use inspect.signature() API which can support them
  
    modules/testing/tests/helpers/executor.py:54: Exception
    =============================== warnings summary ===============================
    modules/provision/models.py:36
      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:36: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/
        @validator('dependencies', pre=True)
  
    modules/provision/models.py:64
      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:64: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/
        @validator('install', 'uninstall', pre=True)
  
    modules/testing/tests/helpers/generic.py:412
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/generic.py:412: DeprecationWarning: invalid escape sequence '\s'
        f"sed -i '/^\s*#/d' {current_directory}/config.yml"
  
    modules/testing/tests/helpers/generic.py:418
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/generic.py:418: DeprecationWarning: invalid escape sequence '\s'
        f"sed -i '/^\s*#/d' {current_directory}/config.yml"
  
    modules/testing/tests/helpers/generic.py:423
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/generic.py:423: DeprecationWarning: invalid escape sequence '\ '
        commands.append(f"""sed -i '/ip: "<wazuh-manager-ip>"/a\      node_type: master' {current_directory}/config.yml""")
  
    modules/testing/tests/helpers/generic.py:607
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/generic.py:607: DeprecationWarning: invalid escape sequence '\;'
        command = f'sudo find {directory} -type f -exec shasum -a 256 {{}} \; {filter}'
  
    modules/testing/tests/helpers/agent.py:72
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:72: DeprecationWarning: invalid escape sequence '\w'
        "-OutFile $env:TEMP\wazuh-agent.msi"
  
    modules/testing/tests/helpers/agent.py:75
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:75: DeprecationWarning: invalid escape sequence '\w'
        "msiexec.exe /i $env:TEMP\wazuh-agent.msi /q "
  
    modules/testing/tests/helpers/agent.py:125
    modules/testing/tests/helpers/agent.py:125
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:125: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<address>MANAGER_IP<\/address>/<address>{host_ip}<\/address>/g' {WAZUH_CONF}",
  
    modules/testing/tests/helpers/agent.py:142
    modules/testing/tests/helpers/agent.py:142
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:142: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i '.bak' 's/<address>MANAGER_IP<\/address>/<address>{host_ip}<\/address>/g' {WAZUH_MACOS_CONF}",
  
    modules/testing/tests/helpers/agent.py:172
    modules/testing/tests/helpers/agent.py:172
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:172: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<protocol>[^<]*<\/protocol>/<protocol>{protocol}<\/protocol>/g' {WAZUH_CONF}",
  
    modules/testing/tests/helpers/agent.py:181
    modules/testing/tests/helpers/agent.py:181
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:181: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i '' 's/<protocol>[^<]*<\/protocol>/<protocol>{protocol}<\/protocol>/g' {WAZUH_MACOS_CONF}",
  
    modules/testing/tests/helpers/agent.py:189
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:189: DeprecationWarning: invalid escape sequence '\/'
        f"(Get-Content -Path '{WAZUH_WINDOWS_CONF}') -replace '<protocol>[^<]*<\/protocol>', '<protocol>{protocol}</protocol>' | Set-Content -Path '{WAZUH_WINDOWS_CONF}'"
  
    modules/testing/tests/helpers/agent.py:227
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/agent.py:227: DeprecationWarning: invalid escape sequence '\w'
        f"msiexec.exe /x $env:TEMP\wazuh-agent.msi /qn"
  
    modules/testing/tests/helpers/manager.py:355
    modules/testing/tests/helpers/manager.py:355
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/manager.py:355: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<node_name>node01<\/node_name>/<node_name>{node_name}<\/node_name>/' {WAZUH_CONF}",
  
    modules/testing/tests/helpers/manager.py:356
    modules/testing/tests/helpers/manager.py:356
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/manager.py:356: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<node_type>master<\/node_type>/<node_type>{node_type}<\/node_type>/'  {WAZUH_CONF}",
  
    modules/testing/tests/helpers/manager.py:357
    modules/testing/tests/helpers/manager.py:357
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/manager.py:357: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<key><\/key>/<key>{key}<\/key>/' {WAZUH_CONF}",
  
    modules/testing/tests/helpers/manager.py:358
    modules/testing/tests/helpers/manager.py:358
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/manager.py:358: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<node>NODE_IP<\/node>/<node>{HostInformation.get_internal_ip_from_aws_dns(master_dns)}<\/node>/' {WAZUH_CONF}",
  
    modules/testing/tests/helpers/manager.py:359
    modules/testing/tests/helpers/manager.py:359
      /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/manager.py:359: DeprecationWarning: invalid escape sequence '\/'
        f"sed -i 's/<disabled>yes<\/disabled>/<disabled>{disabled}<\/disabled>/' {WAZUH_CONF}",
  
    testing/tests/test_agent/test_install.py: 11 warnings
      /home/akim/Desktop/venvs/5191-test/lib/python3.10/site-packages/winrm/transport.py:349: DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()
        argspec = set(inspect.getargspec(function).args)
  
    -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
    =========================== short test summary info ============================
    ERROR modules/testing/tests/test_agent/test_install.py::test_installation - E...
    ERROR modules/testing/tests/test_agent/test_install.py::test_status - Excepti...
    ================== 39 warnings, 2 errors in 300.58s (0:05:00) ==================
  stdout_lines: <omitted>

  • Error related to Wazuh installation assistant, last version is 4.7.5, error expected

@pro-akim
Copy link
Member

pro-akim commented Jun 17, 2024

Update

Tests

Managers tests AWS --threads=4 Manager 4.7.4 live = False

YAML
version: 0.1
description: This workflow is used to test manager deployment for DDT1 PoC
variables:
  manager-os:
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-22.04-amd64
    - linux-amazon-2-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-debian-12-amd64
  infra-provider: aws
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager}"
          - inventory-output: "{working-dir}/manager-{manager}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
    on-error: "abort-all"
    foreach:
      - variable: manager-os
        as: manager
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager}/track.yaml"

  # Generic manager test task
  - task: "run-manager-tests"
    description: "Run tests install for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-linux-centos-7-amd64/inventory.yaml"
            - wazuh-2: "{working-dir}/manager-linux-ubuntu-20.04-amd64/inventory.yaml"
            - wazuh-3: "{working-dir}/manager-linux-ubuntu-22.04-amd64/inventory.yaml"
            - wazuh-4: "{working-dir}/manager-linux-amazon-2-amd64/inventory.yaml"
            - wazuh-5: "{working-dir}/manager-linux-redhat-7-amd64/inventory.yaml"
            - wazuh-6: "{working-dir}/manager-linux-redhat-8-amd64/inventory.yaml"
            - wazuh-7: "{working-dir}/manager-linux-redhat-9-amd64/inventory.yaml"
            - wazuh-8: "{working-dir}/manager-linux-centos-8-amd64/inventory.yaml"
            - wazuh-9: "{working-dir}/manager-linux-debian-10-amd64/inventory.yaml"
            - wazuh-10: "{working-dir}/manager-linux-debian-11-amd64/inventory.yaml"
            - wazuh-11: "{working-dir}/manager-linux-debian-12-amd64/inventory.yaml"
          - tests: "install,restart,stop,uninstall"
          - component: "manager"
          - wazuh-version: "4.7.4"
          - wazuh-revision: "40717"
          - live: False
    depends-on:
      - "allocate-manager-linux-ubuntu-20.04-amd64"
      - "allocate-manager-linux-ubuntu-22.04-amd64"
      - "allocate-manager-linux-amazon-2-amd64"
      - "allocate-manager-linux-redhat-7-amd64"
      - "allocate-manager-linux-redhat-8-amd64"
      - "allocate-manager-linux-redhat-9-amd64"
      - "allocate-manager-linux-centos-7-amd64"
      - "allocate-manager-linux-centos-8-amd64"
      - "allocate-manager-linux-debian-10-amd64"
      - "allocate-manager-linux-debian-11-amd64"
      - "allocate-manager-linux-debian-12-amd64"


ERROR details 🔴
[2024-06-17 16:56:21] [INFO] [866794] [MainThread] [jobflow]: Executing DAG tasks.
[2024-06-17 16:56:21] [INFO] [866794] [MainThread] [jobflow]: Executing tasks in parallel.
[2024-06-17 16:56:21] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Starting task.
[2024-06-17 16:56:21] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Starting task.
[2024-06-17 16:56:21] [INFO] [866794] [ThreadPoolExecutor-0_2] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Starting task.
[2024-06-17 16:56:21] [INFO] [866794] [ThreadPoolExecutor-0_3] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Starting task.
[2024-06-17 16:57:15] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Finished task in 54.29 seconds.
[2024-06-17 16:57:15] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Starting task.
[2024-06-17 16:57:15] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Finished task in 54.40 seconds.
[2024-06-17 16:57:15] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Starting task.
[2024-06-17 16:57:46] [INFO] [866794] [ThreadPoolExecutor-0_2] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Finished task in 85.07 seconds.
[2024-06-17 16:57:46] [INFO] [866794] [ThreadPoolExecutor-0_2] [jobflow]: [allocate-manager-linux-centos-7-amd64] Starting task.
[2024-06-17 16:58:12] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Finished task in 57.00 seconds.
[2024-06-17 16:58:12] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Starting task.
[2024-06-17 16:59:19] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Finished task in 66.58 seconds.
[2024-06-17 16:59:19] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Starting task.
[2024-06-17 17:00:15] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Finished task in 56.27 seconds.
[2024-06-17 17:00:15] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Starting task.
[2024-06-17 17:00:19] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Finished task in 183.71 seconds.
[2024-06-17 17:00:19] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-06-17 17:00:49] [INFO] [866794] [ThreadPoolExecutor-0_3] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Finished task in 268.08 seconds.
[2024-06-17 17:01:11] [INFO] [866794] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Finished task in 55.58 seconds.
[2024-06-17 17:01:13] [INFO] [866794] [ThreadPoolExecutor-0_2] [jobflow]: [allocate-manager-linux-centos-7-amd64] Finished task in 206.77 seconds.
[2024-06-17 17:01:14] [INFO] [866794] [ThreadPoolExecutor-0_1] [jobflow]: [allocate-manager-linux-debian-12-amd64] Finished task in 55.25 seconds.
[2024-06-17 17:01:14] [INFO] [866794] [MainThread] [jobflow]: Executing Reverse DAG tasks.
[2024-06-17 17:01:14] [INFO] [866794] [MainThread] [jobflow]: Executing tasks in parallel.
[2024-06-17 17:01:14] [INFO] [866794] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Starting task.
[2024-06-17 17:01:14] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Starting task.
[2024-06-17 17:01:14] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Starting task.
[2024-06-17 17:01:14] [INFO] [866794] [ThreadPoolExecutor-1_3] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Starting task.
[2024-06-17 17:02:04] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Finished task in 49.45 seconds.
[2024-06-17 17:02:04] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Starting task.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Finished task in 79.98 seconds.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Starting task.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Finished task in 80.35 seconds.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-centos-7-amd64] Starting task.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_3] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Finished task in 80.38 seconds.
[2024-06-17 17:02:34] [INFO] [866794] [ThreadPoolExecutor-1_3] [jobflow]: [allocate-manager-linux-centos-8-amd64] Starting task.
[2024-06-17 17:02:37] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Finished task in 33.83 seconds.
[2024-06-17 17:02:37] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-debian-10-amd64] Starting task.
[2024-06-17 17:03:23] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-centos-7-amd64] Finished task in 48.92 seconds.
[2024-06-17 17:03:23] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-debian-11-amd64] Starting task.
[2024-06-17 17:03:27] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-debian-10-amd64] Finished task in 49.41 seconds.
[2024-06-17 17:03:27] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-06-17 17:03:39] [INFO] [866794] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Finished task in 64.49 seconds.
[2024-06-17 17:03:55] [INFO] [866794] [ThreadPoolExecutor-1_3] [jobflow]: [allocate-manager-linux-centos-8-amd64] Finished task in 80.02 seconds.
[2024-06-17 17:04:17] [INFO] [866794] [ThreadPoolExecutor-1_2] [jobflow]: [allocate-manager-linux-debian-12-amd64] Finished task in 49.93 seconds.
[2024-06-17 17:04:28] [INFO] [866794] [ThreadPoolExecutor-1_1] [jobflow]: [allocate-manager-linux-debian-11-amd64] Finished task in 65.09 seconds.

Managers tests AWS no --threads Manager 4.7.4 live = False

ERROR details 🔴
[2024-06-17 17:10:07] [INFO] [871556] [MainThread] [jobflow]: Executing DAG tasks.
[2024-06-17 17:10:07] [INFO] [871556] [MainThread] [jobflow]: Executing tasks in parallel.
[2024-06-17 17:10:07] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Starting task.
[2024-06-17 17:11:06] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Finished task in 58.74 seconds.
[2024-06-17 17:11:06] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Starting task.
[2024-06-17 17:12:05] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Finished task in 59.12 seconds.
[2024-06-17 17:12:05] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Starting task.
[2024-06-17 17:13:30] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Finished task in 85.30 seconds.
[2024-06-17 17:13:30] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Starting task.
[2024-06-17 17:18:01] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Finished task in 271.01 seconds.
[2024-06-17 17:18:01] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Starting task.
[2024-06-17 17:21:01] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Finished task in 179.95 seconds.
[2024-06-17 17:21:01] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Starting task.
[2024-06-17 17:21:58] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Finished task in 56.43 seconds.
[2024-06-17 17:21:58] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-7-amd64] Starting task.
[2024-06-17 17:25:24] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-7-amd64] Finished task in 206.32 seconds.
[2024-06-17 17:25:24] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Starting task.
[2024-06-17 17:26:23] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Finished task in 58.84 seconds.
[2024-06-17 17:26:23] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Starting task.
[2024-06-17 17:26:48] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Finished task in 25.06 seconds.
[2024-06-17 17:26:48] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Starting task.
[2024-06-17 17:27:44] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Finished task in 55.55 seconds.
[2024-06-17 17:27:44] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-06-17 17:28:39] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-manager-linux-debian-12-amd64] Finished task in 55.93 seconds.
[2024-06-17 17:28:39] [INFO] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [run-manager-tests] Starting task.
[2024-06-17 17:58:10] [ERROR] [871556] [ThreadPoolExecutor-0_0] [jobflow]: [run-manager-tests] Task failed with error: Error executing process task Traceback (most recent call last):
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/main.py", line 30, in <module>
    Tester.run(InputPayload(**vars(parse_arguments())))
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 61, in run
    cls._run_tests(payload.tests, ansible, extra_vars)
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 102, in _run_tests
    raise Exception(f"Test {test} failed with error: {event['stdout']}")
Exception: Test install failed with error: fatal: [localhost]: FAILED! => changed=true 
  cmd:
  - python3
  - -m
  - pytest
  - modules/testing/tests/test_manager/test_install.py
  - -v
  - --wazuh_version=4.7.4
  - --wazuh_revision=40717
  - --component=manager
  - --dependencies={}
  - '--targets={wazuh-1: /tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml, wazuh-2: /tmp/dtt1-poc/manager-linux-ubuntu-20.04-amd64/inventory.yaml, wazuh-3: /tmp/dtt1-poc/manager-linux-ubuntu-22.04-amd64/inventory.yaml, wazuh-4: /tmp/dtt1-poc/manager-linux-amazon-2-amd64/inventory.yaml, wazuh-5: /tmp/dtt1-poc/manager-linux-redhat-7-amd64/inventory.yaml, wazuh-6: /tmp/dtt1-poc/manager-linux-redhat-8-amd64/inventory.yaml, wazuh-7: /tmp/dtt1-poc/manager-linux-redhat-9-amd64/inventory.yaml, wazuh-8: /tmp/dtt1-poc/manager-linux-centos-8-amd64/inventory.yaml, wazuh-9: /tmp/dtt1-poc/manager-linux-debian-10-amd64/inventory.yaml, wazuh-10: /tmp/dtt1-poc/manager-linux-debian-11-amd64/inventory.yaml, wazuh-11: /tmp/dtt1-poc/manager-linux-debian-12-amd64/inventory.yaml}'
  - --live=False
  - -s
  delta: '0:29:17.317826'
  end: '2024-06-17 17:58:09.997483'
  msg: non-zero return code
  rc: 1
  start: '2024-06-17 17:28:52.679657'
  stderr: |-
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-211-247-167.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-83-139-151.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-227-134.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-184-73-114-158.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-52-90-113-159.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-18-207-248-111.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-82-204-179.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    --2024-06-17 15:49:38--  https://packages-dev.wazuh.com/4.7/wazuh-install.sh
    Resolving packages-dev.wazuh.com (packages-dev.wazuh.com)... 99.84.208.124, 99.84.208.61, 99.84.208.42, ...
    Connecting to packages-dev.wazuh.com (packages-dev.wazuh.com)|99.84.208.124|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 165785 (162K) [application/x-sh]
    Saving to: 'wazuh-install.sh'
  
         0K .......... .......... .......... .......... .......... 30% 83.6M 0s
        50K .......... .......... .......... .......... .......... 61%  103M 0s
       100K .......... .......... .......... .......... .......... 92%  111M 0s
       150K .......... .                                          100%  271M=0.002s
  
    2024-06-17 15:49:38 (103 MB/s) - 'wazuh-install.sh' saved [165785/165785]
  
    Warning: Permanently added '[ec2-3-92-190-180.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    --2024-06-17 15:52:35--  https://packages-dev.wazuh.com/4.7/wazuh-install.sh
    Resolving packages-dev.wazuh.com (packages-dev.wazuh.com)... 99.84.208.121, 99.84.208.42, 99.84.208.61, ...
    Connecting to packages-dev.wazuh.com (packages-dev.wazuh.com)|99.84.208.121|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 165785 (162K) [application/x-sh]
    Saving to: 'wazuh-install.sh'
  
         0K .......... .......... .......... .......... .......... 30% 58.5M 0s
        50K .......... .......... .......... .......... .......... 61%  101M 0s
       100K .......... .......... .......... .......... .......... 92% 78.1M 0s
       150K .......... .                                          100%  250M=0.002s
  
    2024-06-17 15:52:36 (79.5 MB/s) - 'wazuh-install.sh' saved [165785/165785]
  
    Warning: Permanently added '[ec2-54-172-68-125.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    --2024-06-17 15:56:00--  https://packages-dev.wazuh.com/4.7/wazuh-install.sh
    Resolving packages-dev.wazuh.com (packages-dev.wazuh.com)... 99.84.208.61, 99.84.208.124, 99.84.208.121, ...
    Connecting to packages-dev.wazuh.com (packages-dev.wazuh.com)|99.84.208.61|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 165785 (162K) [application/x-sh]
    Saving to: 'wazuh-install.sh'
  
         0K .......... .......... .......... .......... .......... 30% 86.6M 0s
        50K .......... .......... .......... .......... .......... 61%  100M 0s
       100K .......... .......... .......... .......... .......... 92% 98.8M 0s
       150K .......... .                                          100%  534M=0.002s
  
    2024-06-17 15:56:00 (101 MB/s) - 'wazuh-install.sh' saved [165785/165785]
  
    Warning: Permanently added '[ec2-3-91-214-187.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Unit wazuh-manager.service could not be found.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    Unit wazuh-manager.service could not be found.
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    sudo: /var/ossec/bin/wazuh-control: command not found
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
    sudo: /var/ossec/bin/wazuh-control: command not found
    Warning: Permanently added '[ec2-44-202-0-239.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.
  stderr_lines: <omitted>
  stdout: |-
    [37m[2024-06-17 17:28:53] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'[0m
    [37m[2024-06-17 17:28:53] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'[0m
    ============================= test session starts ==============================
    platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0 -- /home/akim/Desktop/venvs/5191-test/bin/python3
    cachedir: .pytest_cache
    rootdir: /home/akim/Desktop/wazuh-qa/deployability/modules
    collecting ... collected 5 items
  
    modules/testing/tests/test_manager/test_install.py::test_installation [32m[2024-06-17 17:28:53] [INFO] TESTER: Checking connection to centos-7[0m
    [32m[2024-06-17 17:28:54] [INFO] TESTER: Connection established successfully in centos-7[0m
    [32m[2024-06-17 17:28:57] [INFO] TESTER: No Firewall to disable on centos-7[0m
    [32m[2024-06-17 17:28:57] [INFO] TESTER: Checking connection to ubuntu-20.04[0m
    [32m[2024-06-17 17:28:58] [INFO] TESTER: Connection established successfully in ubuntu-20.04[0m
    [32m[2024-06-17 17:29:01] [INFO] TESTER: No Firewall to disable on ubuntu-20.04[0m
    [32m[2024-06-17 17:29:01] [INFO] TESTER: Checking connection to ubuntu-22.04[0m
    [32m[2024-06-17 17:29:02] [INFO] TESTER: Connection established successfully in ubuntu-22.04[0m
    [32m[2024-06-17 17:29:04] [INFO] TESTER: No Firewall to disable on ubuntu-22.04[0m
    [32m[2024-06-17 17:29:04] [INFO] TESTER: Checking connection to amazon-2[0m
    [32m[2024-06-17 17:29:06] [INFO] TESTER: Connection established successfully in amazon-2[0m
    [32m[2024-06-17 17:29:08] [INFO] TESTER: No Firewall to disable on amazon-2[0m
    [32m[2024-06-17 17:29:08] [INFO] TESTER: Checking connection to redhat-7[0m
    [32m[2024-06-17 17:29:10] [INFO] TESTER: Connection established successfully in redhat-7[0m
    [32m[2024-06-17 17:29:12] [INFO] TESTER: No Firewall to disable on redhat-7[0m
    [32m[2024-06-17 17:29:12] [INFO] TESTER: Checking connection to redhat-8[0m
    [32m[2024-06-17 17:29:13] [INFO] TESTER: Connection established successfully in redhat-8[0m
    [32m[2024-06-17 17:29:16] [INFO] TESTER: No Firewall to disable on redhat-8[0m
    [32m[2024-06-17 17:29:16] [INFO] TESTER: Checking connection to redhat-9[0m
    [32m[2024-06-17 17:29:17] [INFO] TESTER: Connection established successfully in redhat-9[0m
    [32m[2024-06-17 17:29:19] [INFO] TESTER: No Firewall to disable on redhat-9[0m
    [32m[2024-06-17 17:29:19] [INFO] TESTER: Checking connection to centos-8[0m
    [32m[2024-06-17 17:29:20] [INFO] TESTER: Connection established successfully in centos-8[0m
    [32m[2024-06-17 17:29:23] [INFO] TESTER: No Firewall to disable on centos-8[0m
    [32m[2024-06-17 17:29:23] [INFO] TESTER: Checking connection to debian-10[0m
    [32m[2024-06-17 17:29:24] [INFO] TESTER: Connection established successfully in debian-10[0m
    [32m[2024-06-17 17:29:27] [INFO] TESTER: No Firewall to disable on debian-10[0m
    [32m[2024-06-17 17:29:27] [INFO] TESTER: Checking connection to debian-11[0m
    [32m[2024-06-17 17:29:28] [INFO] TESTER: Connection established successfully in debian-11[0m
    [32m[2024-06-17 17:29:30] [INFO] TESTER: No Firewall to disable on debian-11[0m
    [32m[2024-06-17 17:29:30] [INFO] TESTER: Checking connection to debian-12[0m
    [32m[2024-06-17 17:29:32] [INFO] TESTER: Connection established successfully in debian-12[0m
    [32m[2024-06-17 17:29:34] [INFO] TESTER: No Firewall to disable on debian-12[0m
    [32m[2024-06-17 17:31:19] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:31:25] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:31:28] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to ubuntu-20.04 (44.211.247.167)[0m
    [32m[2024-06-17 17:31:32] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:31:32] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:31:41] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:31:46] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:31:49] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to ubuntu-22.04 (3.83.139.151)[0m
    [32m[2024-06-17 17:31:54] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:31:54] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:32:03] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:32:09] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:32:12] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to amazon-2 (18.207.227.134)[0m
    [32m[2024-06-17 17:32:16] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:32:16] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:32:25] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:32:31] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:32:34] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to redhat-7 (184.73.114.158)[0m
    [32m[2024-06-17 17:32:39] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:32:39] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:32:48] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:32:53] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:32:56] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to redhat-8 (52.90.113.159)[0m
    [32m[2024-06-17 17:33:00] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:33:00] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:33:09] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:33:15] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:33:18] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to redhat-9 (18.207.248.111)[0m
    [32m[2024-06-17 17:33:22] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:33:22] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:33:31] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:33:36] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:33:39] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to centos-8 (3.82.204.179)[0m
    [32m[2024-06-17 17:33:44] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:33:44] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:33:53] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:33:58] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:34:01] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to debian-10 (3.92.190.180)[0m
    [32m[2024-06-17 17:34:06] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:34:06] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:34:16] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:34:21] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:34:24] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to debian-11 (54.172.68.125)[0m
    [32m[2024-06-17 17:34:29] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:34:29] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:34:38] [INFO] TESTER: File permissions modified to be handled[0m
    [32m[2024-06-17 17:34:44] [INFO] TESTER: File copied from centos-7 (44.202.0.239) to /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers/wazuh-install-files.tar[0m
    [32m[2024-06-17 17:34:47] [INFO] TESTER: Sending file from /home/centos/wazuh-install-files.tar to debian-12 (3.91.214.187)[0m
    [32m[2024-06-17 17:34:51] [INFO] TESTER: File permissions were restablished[0m
    [32m[2024-06-17 17:34:51] [INFO] TESTER: The file wazuh-install-files.tar deleted in /home/akim/Desktop/wazuh-qa/deployability/modules/testing/tests/helpers[0m
    [32m[2024-06-17 17:34:53] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:34:53] [INFO] TESTER: Installing Manager in centos-7[0m
    [32m[2024-06-17 17:36:14] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:36:14] [INFO] TESTER: Installing Manager in ubuntu-20.04[0m
    [32m[2024-06-17 17:38:10] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:38:10] [INFO] TESTER: Installing Manager in ubuntu-22.04[0m
    [32m[2024-06-17 17:40:03] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:40:03] [INFO] TESTER: Installing Manager in amazon-2[0m
    [32m[2024-06-17 17:41:05] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:41:05] [INFO] TESTER: Installing Manager in redhat-7[0m
    [32m[2024-06-17 17:42:32] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:42:32] [INFO] TESTER: Installing Manager in redhat-8[0m
    [32m[2024-06-17 17:45:29] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:45:29] [INFO] TESTER: Installing Manager in redhat-9[0m
    [32m[2024-06-17 17:47:12] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:47:12] [INFO] TESTER: Installing Manager in centos-8[0m
    [32m[2024-06-17 17:49:35] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:49:35] [INFO] TESTER: Installing Manager in debian-10[0m
    [32m[2024-06-17 17:52:32] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:52:32] [INFO] TESTER: Installing Manager in debian-11[0m
    [32m[2024-06-17 17:55:58] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m
    [32m[2024-06-17 17:55:58] [INFO] TESTER: Installing Manager in debian-12[0m
    [32m[2024-06-17 17:57:58] [INFO] TESTER: Getting status of centos-7[0m
    FAILED
    modules/testing/tests/test_manager/test_install.py::test_manager_status [32m[2024-06-17 17:58:01] [INFO] TESTER: Getting status of centos-7[0m
    FAILED
    modules/testing/tests/test_manager/test_install.py::test_manager_version FAILED
    modules/testing/tests/test_manager/test_install.py::test_manager_revision FAILED
    modules/testing/tests/test_manager/test_install.py::test_manager_installed_directory [31m[2024-06-17 17:58:09] [ERROR] TESTER: The /var/ossec is not present in centos-7[0m
    FAILED
  
    =================================== FAILURES ===================================
    ______________________________ test_installation _______________________________
  
    wazuh_params = {'dashboard': '/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml'], 'live': 'False', ...}
  
        def test_installation(wazuh_params):
            # Disabling firewall for all managers
            for manager_name, manager_params in wazuh_params['managers'].items():
                Utils.check_inventory_connection(manager_params)
                HostConfiguration.disable_firewall(manager_params)
  
            # Certs create and scp from master to worker
            HostConfiguration.certs_create(wazuh_params['wazuh_version'], wazuh_params['master'], wazuh_params['dashboard'], wazuh_params['indexers'], wazuh_params['workers'], wazuh_params['live'])
  
            for workers in wazuh_params['workers']:
                HostConfiguration.scp_to(wazuh_params['master'], workers, 'wazuh-install-files.tar')
  
            # Install managers and perform checkfile testing
            for manager_name, manager_params in wazuh_params['managers'].items():
                WazuhManager.install_manager(manager_params, manager_name, wazuh_params['wazuh_version'], wazuh_params['live'])
  
            # Validation of activity and directory of the managers
            for manager in wazuh_params['managers'].values():
                manager_status = GeneralComponentActions.get_component_status(manager, 'wazuh-manager')
    >           assert 'active' in manager_status, logger.error(f'The {HostInformation.get_os_name_and_version_from_inventory(manager)} is not active')
    E           TypeError: argument of type 'NoneType' is not iterable
  
    modules/testing/tests/test_manager/test_install.py:71: TypeError
    _____________________________ test_manager_status ______________________________
  
    wazuh_params = {'dashboard': '/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml'], 'live': 'False', ...}
  
        def test_manager_status(wazuh_params):
            for manager in wazuh_params['managers'].values():
                manager_status = GeneralComponentActions.get_component_status(manager, 'wazuh-manager')
    >           assert 'active' in manager_status, logger.error(f'The {HostInformation.get_os_name_and_version_from_inventory(manager)} is not active')
    E           TypeError: argument of type 'NoneType' is not iterable
  
    modules/testing/tests/test_manager/test_install.py:90: TypeError
    _____________________________ test_manager_version _____________________________
  
    wazuh_params = {'dashboard': '/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml'], 'live': 'False', ...}
  
        def test_manager_version(wazuh_params):
            for manager in wazuh_params['managers'].values():
                manager_status = GeneralComponentActions.get_component_version(manager)
    >           assert wazuh_params['wazuh_version'] in manager_status, logger.error(f"The version {HostInformation.get_os_name_and_version_from_inventory(manager)} is not {wazuh_params['wazuh_version']} by using commands")
    E           TypeError: argument of type 'NoneType' is not iterable
  
    modules/testing/tests/test_manager/test_install.py:96: TypeError
    ____________________________ test_manager_revision _____________________________
  
    wazuh_params = {'dashboard': '/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml'], 'live': 'False', ...}
  
        def test_manager_revision(wazuh_params):
            for manager in wazuh_params['managers'].values():
                manager_status = GeneralComponentActions.get_component_revision(manager)
    >           assert wazuh_params['wazuh_revision'] in manager_status, logger.error(f"The revision {HostInformation.get_os_name_and_version_from_inventory(manager)} is not {wazuh_params['wazuh_revision']} by using commands")
    E           TypeError: argument of type 'NoneType' is not iterable
  
    modules/testing/tests/test_manager/test_install.py:104: TypeError
    _______________________ test_manager_installed_directory _______________________
  
    wazuh_params = {'dashboard': '/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml'], 'live': 'False', ...}
  
        def test_manager_installed_directory(wazuh_params):
            for manager in wazuh_params['managers'].values():
    >           assert HostInformation.dir_exists(manager, WAZUH_ROOT), logger.error(f'The {WAZUH_ROOT} is not present in {HostInformation.get_os_name_and_version_from_inventory(manager)}')
    E           AssertionError: None
    E           assert False
    E            +  where False = <function HostInformation.dir_exists at 0x741c48f08c10>('/tmp/dtt1-poc/manager-linux-centos-7-amd64/inventory.yaml', PosixPath('/var/ossec'))
    E            +    where <function HostInformation.dir_exists at 0x741c48f08c10> = HostInformation.dir_exists
  
    modules/testing/tests/test_manager/test_install.py:111: AssertionError
    =============================== warnings summary ===============================
    modules/provision/models.py:36
      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:36: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/
        @validator('dependencies', pre=True)
  
    modules/provision/models.py:64
      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:64: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/
        @validator('install', 'uninstall', pre=True)
  
    -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
    =========================== short test summary info ============================
    FAILED modules/testing/tests/test_manager/test_install.py::test_installation
    FAILED modules/testing/tests/test_manager/test_install.py::test_manager_status
    FAILED modules/testing/tests/test_manager/test_install.py::test_manager_version
    FAILED modules/testing/tests/test_manager/test_install.py::test_manager_revision
    FAILED modules/testing/tests/test_manager/test_install.py::test_manager_installed_directory
    ================== 5 failed, 2 warnings in 1756.35s (0:29:16) ==================
  stdout_lines: <omitted>

[2024-06-17 17:58:10] [INFO] [871556] [MainThread] [jobflow]: Executing Reverse DAG tasks.
[2024-06-17 17:58:10] [INFO] [871556] [MainThread] [jobflow]: Executing tasks in parallel.
[2024-06-17 17:58:10] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Starting task.
[2024-06-17 17:59:46] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-20.04-amd64] Finished task in 96.50 seconds.
[2024-06-17 17:59:46] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Starting task.
[2024-06-17 18:00:56] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-ubuntu-22.04-amd64] Finished task in 69.24 seconds.
[2024-06-17 18:00:56] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Starting task.
[2024-06-17 18:01:45] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-amazon-2-amd64] Finished task in 49.52 seconds.
[2024-06-17 18:01:45] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Starting task.
[2024-06-17 18:02:35] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-7-amd64] Finished task in 49.57 seconds.
[2024-06-17 18:02:35] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Starting task.
[2024-06-17 18:03:39] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-8-amd64] Finished task in 64.30 seconds.
[2024-06-17 18:03:39] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Starting task.
[2024-06-17 18:04:28] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-redhat-9-amd64] Finished task in 49.13 seconds.
[2024-06-17 18:04:28] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-centos-7-amd64] Starting task.
[2024-06-17 18:05:02] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-centos-7-amd64] Finished task in 33.73 seconds.
[2024-06-17 18:05:02] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Starting task.
[2024-06-17 18:05:52] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-centos-8-amd64] Finished task in 49.70 seconds.
[2024-06-17 18:05:52] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Starting task.
[2024-06-17 18:06:41] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-10-amd64] Finished task in 48.83 seconds.
[2024-06-17 18:06:41] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Starting task.
[2024-06-17 18:07:31] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-11-amd64] Finished task in 50.50 seconds.
[2024-06-17 18:07:31] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-12-amd64] Starting task.
[2024-06-17 18:08:21] [INFO] [871556] [ThreadPoolExecutor-1_0] [jobflow]: [allocate-manager-linux-debian-12-amd64] Finished task in 49.61 seconds.

@pro-akim
Copy link
Member

pro-akim commented Jun 18, 2024

Update

Tests


Central component tests AWS no --threads Manager 4.7.4 live = False

YAML
version: 0.1
description: This workflow is used to test the Wazuh manager deployment for DDT1 PoC
variables:
  central_components-os:
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-22.04-amd64
    - linux-amazon-2-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-debian-12-amd64
  infra-provider: vagrant
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique central components allocate task
  - task: "allocate-central_components-{central_components}"
    description: "Allocate resources for the central_components."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{central_components}"
          - instance-name: "[QA]-Test-Example-Please-Edit-Me"
          - inventory-output: "{working-dir}/central_components-{central_components}/inventory.yaml"
          - track-output: "{working-dir}/central_components-{central_components}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: central_components-os
        as: central_components
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/central_components-{central_components-os}/track.yaml"

  # Generic manager test task
  - task: "run-central_components-{central_components}-tests"
    description: "Run tests install for the central_components."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/central_components-{central_components}/inventory.yaml"
          - tests: "install,restart,stop,uninstall"
          - component: "central_components"
          - wazuh-version: "4.7.4"
          - wazuh-revision: "40717"
          - live: False
    on-error: "abort-all"
    foreach:
      - variable: central_components-os
        as: central_components
    depends-on:
      - "allocate-central_components-{central_components}"

ERROR details 🔴
[2024-06-18 12:06:51,083] [INFO] [139448] [MainThread] [jobflow]: Executing DAG tasks.
[2024-06-18 12:06:51,084] [INFO] [139448] [MainThread] [jobflow]: Executing tasks in parallel.
[2024-06-18 12:06:51,084] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-ubuntu-20.04-amd64] Starting task.
[2024-06-18 12:06:51,497] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:06:51,497] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:06:51,735] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:06:52,596] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:06:52,596] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:06:52,596] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-5F56D3F8-32E2-45C4-848E-D057005FFECC
[2024-06-18 12:07:12,629] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-5F56D3F8-32E2-45C4-848E-D057005FFECC directory to /tmp/wazuh-qa/i-0c7aad8dd98e4d89e
[2024-06-18 12:07:12,645] [INFO] ALLOCATOR: Instance i-0c7aad8dd98e4d89e created.
[2024-06-18 12:07:14,179] [INFO] ALLOCATOR: Instance i-0c7aad8dd98e4d89e started.
[2024-06-18 12:07:14,386] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml
[2024-06-18 12:07:14,387] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/track.yaml
[2024-06-18 12:07:14,689] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 54.173.210.30
[2024-06-18 12:07:45,973] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:07:45,973] [INFO] ALLOCATOR: Instance i-0c7aad8dd98e4d89e created successfully.
[2024-06-18 12:07:46,208] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-ubuntu-20.04-amd64] Finished task in 55.12 seconds.
[2024-06-18 12:07:46,218] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-ubuntu-22.04-amd64] Starting task.
[2024-06-18 12:07:46,884] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:07:46,885] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:07:47,023] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:07:48,052] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:07:48,053] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:07:48,053] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-1978D035-27ED-4F23-A6F0-1240BD6D8EC9
[2024-06-18 12:08:07,740] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-1978D035-27ED-4F23-A6F0-1240BD6D8EC9 directory to /tmp/wazuh-qa/i-0e626eb883ca515f4
[2024-06-18 12:08:07,755] [INFO] ALLOCATOR: Instance i-0e626eb883ca515f4 created.
[2024-06-18 12:08:09,272] [INFO] ALLOCATOR: Instance i-0e626eb883ca515f4 started.
[2024-06-18 12:08:09,478] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-ubuntu-22.04-amd64/inventory.yaml
[2024-06-18 12:08:09,479] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-ubuntu-22.04-amd64/track.yaml
[2024-06-18 12:08:09,678] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 54.82.164.91
[2024-06-18 12:08:41,157] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:08:41,157] [INFO] ALLOCATOR: Instance i-0e626eb883ca515f4 created successfully.
[2024-06-18 12:08:41,390] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-ubuntu-22.04-amd64] Finished task in 55.16 seconds.
[2024-06-18 12:08:41,401] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-amazon-2-amd64] Starting task.
[2024-06-18 12:08:42,044] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:08:42,044] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:08:42,312] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:08:43,440] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:08:43,440] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:08:43,440] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-5124BA3D-A420-4162-A716-C05B41DA7E82
[2024-06-18 12:09:03,136] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-5124BA3D-A420-4162-A716-C05B41DA7E82 directory to /tmp/wazuh-qa/i-0daeef0a69ccb4597
[2024-06-18 12:09:03,152] [INFO] ALLOCATOR: Instance i-0daeef0a69ccb4597 created.
[2024-06-18 12:09:04,774] [INFO] ALLOCATOR: Instance i-0daeef0a69ccb4597 started.
[2024-06-18 12:09:04,974] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-amazon-2-amd64/inventory.yaml
[2024-06-18 12:09:04,974] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-amazon-2-amd64/track.yaml
[2024-06-18 12:09:05,180] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 18.207.204.219
[2024-06-18 12:09:35,388] [WARNING] ALLOCATOR: Error on attempt 2 of 30: [Errno None] Unable to connect to port 2200 on 18.207.204.219
[2024-06-18 12:10:06,668] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:10:06,668] [INFO] ALLOCATOR: Instance i-0daeef0a69ccb4597 created successfully.
[2024-06-18 12:10:06,854] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-amazon-2-amd64] Finished task in 85.45 seconds.
[2024-06-18 12:10:06,865] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-7-amd64] Starting task.
[2024-06-18 12:10:07,350] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:10:07,351] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:10:07,474] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:10:08,776] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:10:08,776] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:10:08,777] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-7F13B613-EFB6-4CBA-AF5F-000B2C734823
[2024-06-18 12:10:28,436] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-7F13B613-EFB6-4CBA-AF5F-000B2C734823 directory to /tmp/wazuh-qa/i-09da53d2a6a7d2c59
[2024-06-18 12:10:28,450] [INFO] ALLOCATOR: Instance i-09da53d2a6a7d2c59 created.
[2024-06-18 12:10:29,767] [INFO] ALLOCATOR: Instance i-09da53d2a6a7d2c59 started.
[2024-06-18 12:10:29,974] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-redhat-7-amd64/inventory.yaml
[2024-06-18 12:10:29,975] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-redhat-7-amd64/track.yaml
[2024-06-18 12:10:31,157] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:11:01,311] [WARNING] ALLOCATOR: Error on attempt 2 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:11:31,512] [WARNING] ALLOCATOR: Error on attempt 3 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:12:01,720] [WARNING] ALLOCATOR: Error on attempt 4 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:12:31,929] [WARNING] ALLOCATOR: Error on attempt 5 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:13:02,087] [WARNING] ALLOCATOR: Error on attempt 6 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:13:32,346] [WARNING] ALLOCATOR: Error on attempt 7 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:14:02,515] [WARNING] ALLOCATOR: Error on attempt 8 of 30: [Errno None] Unable to connect to port 2200 on 3.87.67.116
[2024-06-18 12:14:34,094] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:14:34,095] [INFO] ALLOCATOR: Instance i-09da53d2a6a7d2c59 created successfully.
[2024-06-18 12:14:34,282] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-7-amd64] Finished task in 267.41 seconds.
[2024-06-18 12:14:34,293] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-8-amd64] Starting task.
[2024-06-18 12:14:34,833] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:14:34,834] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:14:34,973] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:14:36,218] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:14:36,218] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:14:36,219] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-600A17CC-71C4-4AB6-A3AD-A823D8596722
[2024-06-18 12:14:55,706] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-600A17CC-71C4-4AB6-A3AD-A823D8596722 directory to /tmp/wazuh-qa/i-003476dd705e84190
[2024-06-18 12:14:55,718] [INFO] ALLOCATOR: Instance i-003476dd705e84190 created.
[2024-06-18 12:14:56,995] [INFO] ALLOCATOR: Instance i-003476dd705e84190 started.
[2024-06-18 12:14:57,268] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-redhat-8-amd64/inventory.yaml
[2024-06-18 12:14:57,269] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-redhat-8-amd64/track.yaml
[2024-06-18 12:15:01,538] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 34.239.104.186
[2024-06-18 12:15:31,746] [WARNING] ALLOCATOR: Error on attempt 2 of 30: [Errno None] Unable to connect to port 2200 on 34.239.104.186
[2024-06-18 12:16:01,955] [WARNING] ALLOCATOR: Error on attempt 3 of 30: [Errno None] Unable to connect to port 2200 on 34.239.104.186
[2024-06-18 12:16:32,164] [WARNING] ALLOCATOR: Error on attempt 4 of 30: [Errno None] Unable to connect to port 2200 on 34.239.104.186
[2024-06-18 12:17:02,372] [WARNING] ALLOCATOR: Error on attempt 5 of 30: [Errno None] Unable to connect to port 2200 on 34.239.104.186
[2024-06-18 12:17:33,912] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:17:33,912] [INFO] ALLOCATOR: Instance i-003476dd705e84190 created successfully.
[2024-06-18 12:17:34,159] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-8-amd64] Finished task in 179.86 seconds.
[2024-06-18 12:17:34,169] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-9-amd64] Starting task.
[2024-06-18 12:17:34,839] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:17:34,839] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:17:34,986] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:17:36,384] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:17:36,385] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:17:36,385] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-E443B981-9EC5-4F97-A14D-FF0ED678D417
[2024-06-18 12:17:55,934] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-E443B981-9EC5-4F97-A14D-FF0ED678D417 directory to /tmp/wazuh-qa/i-00d5388a52b85917d
[2024-06-18 12:17:55,948] [INFO] ALLOCATOR: Instance i-00d5388a52b85917d created.
[2024-06-18 12:17:57,234] [INFO] ALLOCATOR: Instance i-00d5388a52b85917d started.
[2024-06-18 12:17:57,506] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-redhat-9-amd64/inventory.yaml
[2024-06-18 12:17:57,506] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-redhat-9-amd64/track.yaml
[2024-06-18 12:17:59,717] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 54.205.214.1
[2024-06-18 12:18:29,857] [WARNING] ALLOCATOR: Error on attempt 2 of 30: [Errno None] Unable to connect to port 2200 on 54.205.214.1
[2024-06-18 12:19:00,751] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:19:00,751] [INFO] ALLOCATOR: Instance i-00d5388a52b85917d created successfully.
[2024-06-18 12:19:00,934] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-redhat-9-amd64] Finished task in 86.75 seconds.
[2024-06-18 12:19:00,944] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-centos-7-amd64] Starting task.
[2024-06-18 12:19:01,409] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:19:01,409] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:19:01,512] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:19:02,787] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:19:02,788] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:19:02,788] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-7B026E40-87F4-4957-8F4A-54337FB5D0CC
[2024-06-18 12:19:22,763] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-7B026E40-87F4-4957-8F4A-54337FB5D0CC directory to /tmp/wazuh-qa/i-03f859cfc7df554db
[2024-06-18 12:19:22,786] [INFO] ALLOCATOR: Instance i-03f859cfc7df554db created.
[2024-06-18 12:19:24,080] [INFO] ALLOCATOR: Instance i-03f859cfc7df554db started.
[2024-06-18 12:19:24,309] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-centos-7-amd64/inventory.yaml
[2024-06-18 12:19:24,309] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-centos-7-amd64/track.yaml
[2024-06-18 12:19:24,608] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:19:54,767] [WARNING] ALLOCATOR: Error on attempt 2 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:20:25,027] [WARNING] ALLOCATOR: Error on attempt 3 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:20:55,234] [WARNING] ALLOCATOR: Error on attempt 4 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:21:25,442] [WARNING] ALLOCATOR: Error on attempt 5 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:22:00,669] [WARNING] ALLOCATOR: Error on attempt 6 of 30: [Errno None] Unable to connect to port 2200 on 54.172.252.53
[2024-06-18 12:22:31,903] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:22:31,903] [INFO] ALLOCATOR: Instance i-03f859cfc7df554db created successfully.
[2024-06-18 12:22:32,083] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-centos-7-amd64] Finished task in 211.13 seconds.
[2024-06-18 12:22:32,094] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-centos-8-amd64] Starting task.
[2024-06-18 12:22:32,688] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:22:32,688] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:22:32,807] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:22:34,066] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:22:34,066] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:22:34,067] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-87B2D4F3-08F8-49D0-9DAA-B686E4F90213
[2024-06-18 12:22:58,633] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-87B2D4F3-08F8-49D0-9DAA-B686E4F90213 directory to /tmp/wazuh-qa/i-05d9e891eb5f87ba0
[2024-06-18 12:22:58,648] [INFO] ALLOCATOR: Instance i-05d9e891eb5f87ba0 created.
[2024-06-18 12:23:04,965] [INFO] ALLOCATOR: Instance i-05d9e891eb5f87ba0 started.
[2024-06-18 12:23:05,157] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-centos-8-amd64/inventory.yaml
[2024-06-18 12:23:05,157] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-centos-8-amd64/track.yaml
[2024-06-18 12:23:05,387] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 18.212.32.102
[2024-06-18 12:23:36,619] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:23:36,620] [INFO] ALLOCATOR: Instance i-05d9e891eb5f87ba0 created successfully.
[2024-06-18 12:23:36,855] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-centos-8-amd64] Finished task in 64.76 seconds.
[2024-06-18 12:23:36,866] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-10-amd64] Starting task.
[2024-06-18 12:23:37,456] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:23:37,456] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:23:37,575] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:23:38,791] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:23:38,791] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:23:38,792] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-F84EB173-4CCE-4975-9A97-8A8EF44714BA
[2024-06-18 12:23:58,439] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-F84EB173-4CCE-4975-9A97-8A8EF44714BA directory to /tmp/wazuh-qa/i-02b69b33bd97bdd36
[2024-06-18 12:23:58,464] [INFO] ALLOCATOR: Instance i-02b69b33bd97bdd36 created.
[2024-06-18 12:23:59,829] [INFO] ALLOCATOR: Instance i-02b69b33bd97bdd36 started.
[2024-06-18 12:24:00,034] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-debian-10-amd64/inventory.yaml
[2024-06-18 12:24:00,035] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-debian-10-amd64/track.yaml
[2024-06-18 12:24:01,266] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:24:01,266] [INFO] ALLOCATOR: Instance i-02b69b33bd97bdd36 created successfully.
[2024-06-18 12:24:01,434] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-10-amd64] Finished task in 24.56 seconds.
[2024-06-18 12:24:01,440] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-11-amd64] Starting task.
[2024-06-18 12:24:01,931] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:24:01,931] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:24:02,040] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:24:03,278] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:24:03,279] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:24:03,279] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-1114E204-8F5E-4E6C-B2D2-5DA191A74DBB
[2024-06-18 12:24:22,711] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-1114E204-8F5E-4E6C-B2D2-5DA191A74DBB directory to /tmp/wazuh-qa/i-0ee8231f0cd593488
[2024-06-18 12:24:22,727] [INFO] ALLOCATOR: Instance i-0ee8231f0cd593488 created.
[2024-06-18 12:24:24,239] [INFO] ALLOCATOR: Instance i-0ee8231f0cd593488 started.
[2024-06-18 12:24:24,653] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-debian-11-amd64/inventory.yaml
[2024-06-18 12:24:24,653] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-debian-11-amd64/track.yaml
[2024-06-18 12:24:24,793] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 3.88.135.210
[2024-06-18 12:24:55,725] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:24:55,725] [INFO] ALLOCATOR: Instance i-0ee8231f0cd593488 created successfully.
[2024-06-18 12:24:55,943] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-11-amd64] Finished task in 54.50 seconds.
[2024-06-18 12:24:55,948] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-12-amd64] Starting task.
[2024-06-18 12:24:56,525] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:24:56,525] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:24:56,637] [INFO] ALLOCATOR: Creating instance at /tmp/wazuh-qa
[2024-06-18 12:24:57,616] [DEBUG] ALLOCATOR: No config provided. Generating from payload
[2024-06-18 12:24:57,616] [DEBUG] ALLOCATOR: Generating new key pair
[2024-06-18 12:24:57,617] [DEBUG] ALLOCATOR: Creating base directory: /tmp/wazuh-qa/AWS-47745850-CD26-4132-92DA-8FE6F26DF21C
[2024-06-18 12:25:17,727] [DEBUG] ALLOCATOR: Renaming temp /tmp/wazuh-qa/AWS-47745850-CD26-4132-92DA-8FE6F26DF21C directory to /tmp/wazuh-qa/i-0ac756556bff762b6
[2024-06-18 12:25:17,745] [INFO] ALLOCATOR: Instance i-0ac756556bff762b6 created.
[2024-06-18 12:25:19,229] [INFO] ALLOCATOR: Instance i-0ac756556bff762b6 started.
[2024-06-18 12:25:19,436] [INFO] ALLOCATOR: The inventory file generated at /tmp/dtt1-poc/central_components-linux-debian-12-amd64/inventory.yaml
[2024-06-18 12:25:19,436] [INFO] ALLOCATOR: The track file generated at /tmp/dtt1-poc/central_components-linux-debian-12-amd64/track.yaml
[2024-06-18 12:25:19,636] [WARNING] ALLOCATOR: Error on attempt 1 of 30: [Errno None] Unable to connect to port 2200 on 3.88.162.12
[2024-06-18 12:25:50,766] [INFO] ALLOCATOR: SSH connection successful.
[2024-06-18 12:25:50,766] [INFO] ALLOCATOR: Instance i-0ac756556bff762b6 created successfully.
[2024-06-18 12:25:50,999] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [allocate-central_components-linux-debian-12-amd64] Finished task in 55.04 seconds.
[2024-06-18 12:25:51,004] [INFO] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-ubuntu-20.04-amd64-tests] Starting task.
[2024-06-18 12:25:51,595] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:25:51,596] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:25:51,739] [INFO] TESTER: Running tests for ec2-54-173-210-30.compute-1.amazonaws.com
[2024-06-18 12:25:51,739] [DEBUG] TESTER: Using extra vars: {'component': 'central_components', 'wazuh_version': '4.7.4', 'wazuh_revision': '40717', 'wazuh_branch': None, 'working_dir': '/tmp/tests', 'live': False, 'hosts_ip': ['ec2-54-173-210-30.compute-1.amazonaws.com'], 'targets': '{wazuh-1: /tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml}', 'dependencies': '{}', 'local_host_path': '/home/akim/Desktop/wazuh-qa/deployability', 'current_user': 'akim'}
[2024-06-18 12:25:51,741] [DEBUG] TESTER: Using inventory: {'all': {'hosts': {'ec2-54-173-210-30.compute-1.amazonaws.com': {'ansible_port': 2200, 'ansible_user': 'ubuntu', 'ansible_ssh_private_key_file': '/tmp/wazuh-qa/i-0c7aad8dd98e4d89e/ubuntu-20.04-amd64-key-1387'}}}}
[2024-06-18 12:25:51,742] [DEBUG] TESTER: Running playbook: /home/akim/Desktop/wazuh-qa/deployability/modules/testing/playbooks/setup.yml
[2024-06-18 12:25:58,642] [DEBUG] TESTER: Playbook /home/akim/Desktop/wazuh-qa/deployability/modules/testing/playbooks/setup.yml finished with status {'skipped': {}, 'ok': {'localhost': 2}, 'dark': {}, 'failures': {}, 'ignored': {}, 'rescued': {}, 'processed': {'localhost': 1}, 'changed': {'localhost': 1}}
[2024-06-18 12:25:58,645] [DEBUG] TESTER: Using inventory: {'all': {'hosts': {'ec2-54-173-210-30.compute-1.amazonaws.com': {'ansible_port': 2200, 'ansible_user': 'ubuntu', 'ansible_ssh_private_key_file': '/tmp/wazuh-qa/i-0c7aad8dd98e4d89e/ubuntu-20.04-amd64-key-1387'}}}}
[2024-06-18 12:25:58,645] [DEBUG] TESTER: Running playbook: /home/akim/Desktop/wazuh-qa/deployability/modules/testing/playbooks/test.yml
[2024-06-18 12:26:04,192] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'
[2024-06-18 12:26:04,192] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'
[2024-06-18 12:26:04,420] [INFO] TESTER: Checking connection to ubuntu-20.04
[2024-06-18 12:26:05,819] [INFO] TESTER: Connection established successfully in ubuntu-20.04
[2024-06-18 12:26:07,868] [INFO] TESTER: No Firewall to disable on ubuntu-20.04
[2024-06-18 12:26:48,423] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh
[2024-06-18 12:26:50,207] [INFO] TESTER: Installing Wazuh f in ubuntu-20.04
[2024-06-18 12:29:49,413] [INFO] TESTER: Getting status of ubuntu-20.04
[2024-06-18 12:29:58,170] [ERROR] TESTER: The /var/ossec is not present in ubuntu-20.04
[2024-06-18 12:40:11,235] [ERROR] TESTER: The Wazuh manager's API port in ubuntu-20.04 is closed
[2024-06-18 12:50:13,755] [ERROR] TESTER: The Wazuh manager port in ubuntu-20.04 is closed
[2024-06-18 13:00:16,802] [ERROR] TESTER: The Wazuh manager agent enrollment port in ubuntu-20.04 is closed
[2024-06-18 13:00:16,810] [INFO] TESTER: Getting status of ubuntu-20.04
[2024-06-18 13:10:35,122] [ERROR] TESTER: The Wazuh dashboard port in ubuntu-20.04 is closed
[2024-06-18 13:10:35,135] [INFO] TESTER: Getting status of ubuntu-20.04
[2024-06-18 13:20:53,309] [ERROR] TESTER: Some Wazuh indexer port in ubuntu-20.04 is closed
[2024-06-18 13:20:53,317] [INFO] TESTER: Getting status of ubuntu-20.04
[2024-06-18 13:20:56,939] [ERROR] TESTER: IndexerConnector initialization failed ubuntu-20.04
[2024-06-18 13:20:57,529] [DEBUG] TESTER: Playbook /home/akim/Desktop/wazuh-qa/deployability/modules/testing/playbooks/test.yml finished with status {'skipped': {}, 'ok': {'localhost': 1}, 'dark': {}, 'failures': {'localhost': 1}, 'ignored': {}, 'rescued': {}, 'processed': {'localhost': 1}, 'changed': {}}
[2024-06-18 13:20:57,711] [ERROR] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-ubuntu-20.04-amd64-tests] Task failed with error: Error executing process task Traceback (most recent call last):
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/main.py", line 30, in <module>
    Tester.run(InputPayload(**vars(parse_arguments())))
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 61, in run
    cls._run_tests(payload.tests, ansible, extra_vars)
  File "/home/akim/Desktop/wazuh-qa/deployability/modules/testing/testing.py", line 102, in _run_tests
    raise Exception(f"Test {test} failed with error: {event['stdout']}")
Exception: Test install failed with error: �[0;31mfatal: [localhost]: FAILED! => changed=true �[0m
�[0;31m  cmd:�[0m
�[0;31m  - python3�[0m
�[0;31m  - -m�[0m
�[0;31m  - pytest�[0m
�[0;31m  - modules/testing/tests/test_central_components/test_install.py�[0m
�[0;31m  - -v�[0m
�[0;31m  - --wazuh_version=4.7.4�[0m
�[0;31m  - --wazuh_revision=40717�[0m
�[0;31m  - --component=central_components�[0m
�[0;31m  - --dependencies={}�[0m
�[0;31m  - '--targets={wazuh-1: /tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml}'�[0m
�[0;31m  - --live=False�[0m
�[0;31m  - -s�[0m
�[0;31m  delta: '0:54:53.696081'�[0m
�[0;31m  end: '2024-06-18 13:20:57.178189'�[0m
�[0;31m  msg: non-zero return code�[0m
�[0;31m  rc: 1�[0m
�[0;31m  start: '2024-06-18 12:26:03.482108'�[0m
�[0;31m  stderr: |-�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Unit wazuh-manager.service could not be found.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    sudo: /var/ossec/bin/wazuh-control: command not found�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    sudo: /var/ossec/bin/wazuh-control: command not found�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Unit wazuh-dashboard.service could not be found.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    cat: /usr/share/wazuh-dashboard/VERSION: No such file or directory�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    sudo: /usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore: command not found�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Unit wazuh-indexer.service could not be found.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    cat: /etc/wazuh-indexer/opensearch-security/internal_users.yml: No such file or directory�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    cat: /usr/share/wazuh-indexer/VERSION: No such file or directory�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    Unit filebeat.service could not be found.�[0m
�[0;31m    Warning: Permanently added '[ec2-54-173-210-30.compute-1.amazonaws.com]:2200' (ED25519) to the list of known hosts.�[0m
�[0;31m    cat: /var/ossec/logs/ossec.log: No such file or directory�[0m
�[0;31m  stderr_lines: <omitted>�[0m
�[0;31m  stdout: |-�[0m
�[0;31m    [37m[2024-06-18 12:26:04] [DEBUG] SPNEGO._GSS: Python gssapi not available, cannot use any GSSAPIProxy protocols: No module named 'gssapi'[0m�[0m
�[0;31m    [37m[2024-06-18 12:26:04] [DEBUG] SPNEGO._GSS: Python gssapi IOV extension not available: No module named 'gssapi'[0m�[0m
�[0;31m    ============================= test session starts ==============================�[0m
�[0;31m    platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0 -- /home/akim/Desktop/venvs/5191-test/bin/python3�[0m
�[0;31m    cachedir: .pytest_cache�[0m
�[0;31m    rootdir: /home/akim/Desktop/wazuh-qa/deployability/modules�[0m
�[0;31m    collecting ... collected 21 items�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_installation [32m[2024-06-18 12:26:04] [INFO] TESTER: Checking connection to ubuntu-20.04[0m�[0m
�[0;31m    [32m[2024-06-18 12:26:05] [INFO] TESTER: Connection established successfully in ubuntu-20.04[0m�[0m
�[0;31m    [32m[2024-06-18 12:26:07] [INFO] TESTER: No Firewall to disable on ubuntu-20.04[0m�[0m
�[0;31m    [32m[2024-06-18 12:26:48] [INFO] TESTER: Installing the Wazuh manager with https://packages-dev.wazuh.com/4.7/wazuh-install.sh[0m�[0m
�[0;31m    [32m[2024-06-18 12:26:50] [INFO] TESTER: Installing Wazuh central components (AIO) in ubuntu-20.04[0m�[0m
�[0;31m    [31m[2024-06-18 12:29:49] [ERROR] TESTER: The /var/ossec is not present in ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_status [32m[2024-06-18 12:29:49] [INFO] TESTER: Getting status of ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_version FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_revision FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_installed_directory [31m[2024-06-18 12:29:58] [ERROR] TESTER: The /var/ossec is not present in ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_api_port [31m[2024-06-18 12:40:11] [ERROR] TESTER: The Wazuh manager's API port in ubuntu-20.04 is closed[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_agent_port [31m[2024-06-18 12:50:13] [ERROR] TESTER: The Wazuh manager port in ubuntu-20.04 is closed[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_manager_agent_enrollment_port [31m[2024-06-18 13:00:16] [ERROR] TESTER: The Wazuh manager agent enrollment port in ubuntu-20.04 is closed[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_dashboard_status [32m[2024-06-18 13:00:16] [INFO] TESTER: Getting status of ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_dashboard_version FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_dashboard_nodes FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_dashboard_keystore FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_dashboard_port [31m[2024-06-18 13:10:35] [ERROR] TESTER: The Wazuh dashboard port in ubuntu-20.04 is closed[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_status [32m[2024-06-18 13:10:35] [INFO] TESTER: Getting status of ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_clusters_status FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_indexes FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_internalUsers FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_version FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_port [31m[2024-06-18 13:20:53] [ERROR] TESTER: Some Wazuh indexer port in ubuntu-20.04 is closed[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_filebeat_status [32m[2024-06-18 13:20:53] [INFO] TESTER: Getting status of ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py::test_indexer_conexion [31m[2024-06-18 13:20:56] [ERROR] TESTER: IndexerConnector initialization failed ubuntu-20.04[0m�[0m
�[0;31m    FAILED�[0m
�[0;31m  �[0m
�[0;31m    =================================== FAILURES ===================================�[0m
�[0;31m    ______________________________ test_installation _______________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_installation(wazuh_params):�[0m
�[0;31m            # Disabling firewall for all managers�[0m
�[0;31m            for _, manager_params in wazuh_params['managers'].items():�[0m
�[0;31m                Utils.check_inventory_connection(manager_params)�[0m
�[0;31m                HostConfiguration.disable_firewall(manager_params)�[0m
�[0;31m  �[0m
�[0;31m            # Certs create and scp from master to worker�[0m
�[0;31m            HostConfiguration.certs_create(wazuh_params['wazuh_version'], wazuh_params['master'], wazuh_params['dashboard'], wazuh_params['indexers'], wazuh_params['workers'], wazuh_params['live'])�[0m
�[0;31m  �[0m
�[0;31m            # Install central components and perform checkfile testing�[0m
�[0;31m            for _, manager_params in wazuh_params['managers'].items():�[0m
�[0;31m                WazuhCentralComponents.install_aio(manager_params, wazuh_params['wazuh_version'], wazuh_params['live'])�[0m
�[0;31m  �[0m
�[0;31m            # Validation of directory of the components�[0m
�[0;31m            for manager in wazuh_params['managers'].values():�[0m
�[0;31m    >           assert HostInformation.dir_exists(manager, WAZUH_ROOT), logger.error(f'The {WAZUH_ROOT} is not present in {HostInformation.get_os_name_and_version_from_inventory(manager)}')�[0m
�[0;31m    E           AssertionError: None�[0m
�[0;31m    E           assert False�[0m
�[0;31m    E            +  where False = <function HostInformation.dir_exists at 0x7f4d79855000>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', PosixPath('/var/ossec'))�[0m
�[0;31m    E            +    where <function HostInformation.dir_exists at 0x7f4d79855000> = HostInformation.dir_exists�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:71: AssertionError�[0m
�[0;31m    _____________________________ test_manager_status ______________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_status(wazuh_params):�[0m
�[0;31m    >       assert 'active' in GeneralComponentActions.get_component_status(wazuh_params['master'], 'wazuh-manager'), logger.error(f'The Wazuh manager in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params["master"])} is not active')�[0m
�[0;31m    E       TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:75: TypeError�[0m
�[0;31m    _____________________________ test_manager_version _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_version(wazuh_params):�[0m
�[0;31m            for manager in wazuh_params['managers'].values():�[0m
�[0;31m                manager_status = GeneralComponentActions.get_component_version(manager)�[0m
�[0;31m    >           assert wazuh_params['wazuh_version'] in manager_status, logger.error(f"The version {HostInformation.get_os_name_and_version_from_inventory(manager)} is not {wazuh_params['wazuh_version']} by using commands")�[0m
�[0;31m    E           TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:80: TypeError�[0m
�[0;31m    ____________________________ test_manager_revision _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_revision(wazuh_params):�[0m
�[0;31m            for manager in wazuh_params['managers'].values():�[0m
�[0;31m                manager_status = GeneralComponentActions.get_component_revision(manager)�[0m
�[0;31m    >           assert wazuh_params['wazuh_revision'] in manager_status, logger.error(f"The revision {HostInformation.get_os_name_and_version_from_inventory(manager)} is not {wazuh_params['wazuh_revision']} by using commands")�[0m
�[0;31m    E           TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:88: TypeError�[0m
�[0;31m    _______________________ test_manager_installed_directory _______________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_installed_directory(wazuh_params):�[0m
�[0;31m            for manager in wazuh_params['managers'].values():�[0m
�[0;31m    >           assert HostInformation.dir_exists(manager, WAZUH_ROOT), logger.error(f'The {WAZUH_ROOT} is not present in {HostInformation.get_os_name_and_version_from_inventory(manager)}')�[0m
�[0;31m    E           AssertionError: None�[0m
�[0;31m    E           assert False�[0m
�[0;31m    E            +  where False = <function HostInformation.dir_exists at 0x7f4d79855000>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', PosixPath('/var/ossec'))�[0m
�[0;31m    E            +    where <function HostInformation.dir_exists at 0x7f4d79855000> = HostInformation.dir_exists�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:95: AssertionError�[0m
�[0;31m    ____________________________ test_manager_api_port _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_api_port(wazuh_params):�[0m
�[0;31m    >       assert WazuhManager.is_wazuh_api_port_open(wazuh_params['master']), logger.error(f"The Wazuh manager's API port in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['master'])} is closed")�[0m
�[0;31m    E       AssertionError: None�[0m
�[0;31m    E       assert False�[0m
�[0;31m    E        +  where False = <function WazuhManager.is_wazuh_api_port_open at 0x7f4d7967ca60>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E        +    where <function WazuhManager.is_wazuh_api_port_open at 0x7f4d7967ca60> = WazuhManager.is_wazuh_api_port_open�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:99: AssertionError�[0m
�[0;31m    ___________________________ test_manager_agent_port ____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_agent_port(wazuh_params):�[0m
�[0;31m    >       assert WazuhManager.is_wazuh_agent_port_open(wazuh_params['master']), logger.error(f"The Wazuh manager port in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['master'])} is closed")�[0m
�[0;31m    E       AssertionError: None�[0m
�[0;31m    E       assert False�[0m
�[0;31m    E        +  where False = <function WazuhManager.is_wazuh_agent_port_open at 0x7f4d7967caf0>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E        +    where <function WazuhManager.is_wazuh_agent_port_open at 0x7f4d7967caf0> = WazuhManager.is_wazuh_agent_port_open�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:103: AssertionError�[0m
�[0;31m    ______________________ test_manager_agent_enrollment_port ______________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_manager_agent_enrollment_port(wazuh_params):�[0m
�[0;31m    >       assert WazuhManager.is_wazuh_agent_enrollment_port_open(wazuh_params['master']), logger.error(f"The Wazuh manager agent enrollment port in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['master'])} is closed")�[0m
�[0;31m    E       AssertionError: None�[0m
�[0;31m    E       assert False�[0m
�[0;31m    E        +  where False = <function WazuhManager.is_wazuh_agent_enrollment_port_open at 0x7f4d7967cb80>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E        +    where <function WazuhManager.is_wazuh_agent_enrollment_port_open at 0x7f4d7967cb80> = WazuhManager.is_wazuh_agent_enrollment_port_open�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:107: AssertionError�[0m
�[0;31m    ____________________________ test_dashboard_status _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_dashboard_status(wazuh_params):�[0m
�[0;31m    >       assert 'active' in GeneralComponentActions.get_component_status(wazuh_params['dashboard'], 'wazuh-dashboard'), logger.error(f"The dashboard in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['dashboard'])} is not active")�[0m
�[0;31m    E       TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:111: TypeError�[0m
�[0;31m    ____________________________ test_dashboard_version ____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_dashboard_version(wazuh_params):�[0m
�[0;31m    >       assert wazuh_params['wazuh_version'] == WazuhDashboard.get_dashboard_version(wazuh_params['dashboard']), logger.error(f"There is dismatch in the Wazuh dashboard version in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['dashboard'])}")�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:117:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    inventory_path = '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'�[0m
�[0;31m  �[0m
�[0;31m        @staticmethod�[0m
�[0;31m        def get_dashboard_version(inventory_path) -> str:�[0m
�[0;31m            """�[0m
�[0;31m            Returns Wazuh dashboard version�[0m
�[0;31m  �[0m
�[0;31m            Args:�[0m
�[0;31m                inventory_path (str): host's inventory path�[0m
�[0;31m  �[0m
�[0;31m            Returns:�[0m
�[0;31m            - str: Version of the Wazuh dashboard.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m    >       return ConnectionManager.execute_commands(inventory_path,'cat /usr/share/wazuh-dashboard/VERSION').get('output').strip()�[0m
�[0;31m    E       AttributeError: 'NoneType' object has no attribute 'strip'�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/helpers/dashboard.py:27: AttributeError�[0m
�[0;31m    _____________________________ test_dashboard_nodes _____________________________�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d73894070>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m    >           sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:203:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:85: in create_connection�[0m
�[0;31m        raise err�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    address = ('ec2-54-173-210-30.compute-1.amazonaws.com', 55000), timeout = None�[0m
�[0;31m    source_address = None, socket_options = [(6, 1, 1)]�[0m
�[0;31m  �[0m
�[0;31m        def create_connection(�[0m
�[0;31m            address: tuple[str, int],�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            source_address: tuple[str, int] | None = None,�[0m
�[0;31m            socket_options: _TYPE_SOCKET_OPTIONS | None = None,�[0m
�[0;31m        ) -> socket.socket:�[0m
�[0;31m            """Connect to *address* and return the socket object.�[0m
�[0;31m  �[0m
�[0;31m            Convenience function.  Connect to *address* (a 2-tuple ``(host,�[0m
�[0;31m            port)``) and return the socket object.  Passing the optional�[0m
�[0;31m            *timeout* parameter will set the timeout on the socket instance�[0m
�[0;31m            before attempting to connect.  If no *timeout* is supplied, the�[0m
�[0;31m            global default timeout setting returned by :func:`socket.getdefaulttimeout`�[0m
�[0;31m            is used.  If *source_address* is set it must be a tuple of (host, port)�[0m
�[0;31m            for the socket to bind as a source address before making the connection.�[0m
�[0;31m            An host of '' or port 0 tells the OS to use the default.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            host, port = address�[0m
�[0;31m            if host.startswith("["):�[0m
�[0;31m                host = host.strip("[]")�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Using the value from allowed_gai_family() in the context of getaddrinfo lets�[0m
�[0;31m            # us select whether to work with IPv4 DNS records, IPv6 records, or both.�[0m
�[0;31m            # The original create_connection function always returns all records.�[0m
�[0;31m            family = allowed_gai_family()�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                host.encode("idna")�[0m
�[0;31m            except UnicodeError:�[0m
�[0;31m                raise LocationParseError(f"'{host}', label empty or too long") from None�[0m
�[0;31m  �[0m
�[0;31m            for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):�[0m
�[0;31m                af, socktype, proto, canonname, sa = res�[0m
�[0;31m                sock = None�[0m
�[0;31m                try:�[0m
�[0;31m                    sock = socket.socket(af, socktype, proto)�[0m
�[0;31m  �[0m
�[0;31m                    # If provided, set socket level options before connecting.�[0m
�[0;31m                    _set_socket_options(sock, socket_options)�[0m
�[0;31m  �[0m
�[0;31m                    if timeout is not _DEFAULT_TIMEOUT:�[0m
�[0;31m                        sock.settimeout(timeout)�[0m
�[0;31m                    if source_address:�[0m
�[0;31m                        sock.bind(source_address)�[0m
�[0;31m    >               sock.connect(sa)�[0m
�[0;31m    E               ConnectionRefusedError: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d738965f0>�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', body = None�[0m
�[0;31m    headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-aliv...pplication/json', 'Authorization': 'Basic d2F6dWg6emQ2PzA4WGZ0LkVacm0qNT82NlRRVEIranJ1Q2s2K1E=', 'Content-Length': '0'}�[0m
�[0;31m    retries = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    redirect = False, assert_same_host = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None�[0m
�[0;31m    release_conn = False, chunked = False, body_pos = None, preload_content = False�[0m
�[0;31m    decode_content = False, response_kw = {}�[0m
�[0;31m    parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/security/user/authenticate', query=None, fragment=None)�[0m
�[0;31m    destination_scheme = None, conn = None, release_this_conn = True�[0m
�[0;31m    http_tunnel_required = False, err = None, clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m        def urlopen(  # type: ignore[override]�[0m
�[0;31m            self,�[0m
�[0;31m            method: str,�[0m
�[0;31m            url: str,�[0m
�[0;31m            body: _TYPE_BODY | None = None,�[0m
�[0;31m            headers: typing.Mapping[str, str] | None = None,�[0m
�[0;31m            retries: Retry | bool | int | None = None,�[0m
�[0;31m            redirect: bool = True,�[0m
�[0;31m            assert_same_host: bool = True,�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            pool_timeout: int | None = None,�[0m
�[0;31m            release_conn: bool | None = None,�[0m
�[0;31m            chunked: bool = False,�[0m
�[0;31m            body_pos: _TYPE_BODY_POSITION | None = None,�[0m
�[0;31m            preload_content: bool = True,�[0m
�[0;31m            decode_content: bool = True,�[0m
�[0;31m            **response_kw: typing.Any,�[0m
�[0;31m        ) -> BaseHTTPResponse:�[0m
�[0;31m            """�[0m
�[0;31m            Get a connection from the pool and perform an HTTP request. This is the�[0m
�[0;31m            lowest level call for making a request, so you'll need to specify all�[0m
�[0;31m            the raw details.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               More commonly, it's appropriate to use a convenience method�[0m
�[0;31m               such as :meth:`request`.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               `release_conn` will only behave as expected if�[0m
�[0;31m               `preload_content=False` because we want to make�[0m
�[0;31m               `preload_content=False` the default behaviour someday soon without�[0m
�[0;31m               breaking backwards compatibility.�[0m
�[0;31m  �[0m
�[0;31m            :param method:�[0m
�[0;31m                HTTP request method (such as GET, POST, PUT, etc.)�[0m
�[0;31m  �[0m
�[0;31m            :param url:�[0m
�[0;31m                The URL to perform the request on.�[0m
�[0;31m  �[0m
�[0;31m            :param body:�[0m
�[0;31m                Data to send in the request body, either :class:`str`, :class:`bytes`,�[0m
�[0;31m                an iterable of :class:`str`/:class:`bytes`, or a file-like object.�[0m
�[0;31m  �[0m
�[0;31m            :param headers:�[0m
�[0;31m                Dictionary of custom headers to send, such as User-Agent,�[0m
�[0;31m                If-None-Match, etc. If None, pool headers are used. If provided,�[0m
�[0;31m                these headers completely replace any pool-specific headers.�[0m
�[0;31m  �[0m
�[0;31m            :param retries:�[0m
�[0;31m                Configure the number of retries to allow before raising a�[0m
�[0;31m                :class:`~urllib3.exceptions.MaxRetryError` exception.�[0m
�[0;31m  �[0m
�[0;31m                Pass ``None`` to retry until you receive a response. Pass a�[0m
�[0;31m                :class:`~urllib3.util.retry.Retry` object for fine-grained control�[0m
�[0;31m                over different types of retries.�[0m
�[0;31m                Pass an integer number to retry connection errors that many times,�[0m
�[0;31m                but no other types of errors. Pass zero to never retry.�[0m
�[0;31m  �[0m
�[0;31m                If ``False``, then retries are disabled and any exception is raised�[0m
�[0;31m                immediately. Also, instead of raising a MaxRetryError on redirects,�[0m
�[0;31m                the redirect response will be returned.�[0m
�[0;31m  �[0m
�[0;31m            :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.�[0m
�[0;31m  �[0m
�[0;31m            :param redirect:�[0m
�[0;31m                If True, automatically handle redirects (status codes 301, 302,�[0m
�[0;31m                303, 307, 308). Each redirect counts as a retry. Disabling retries�[0m
�[0;31m                will disable redirect, too.�[0m
�[0;31m  �[0m
�[0;31m            :param assert_same_host:�[0m
�[0;31m                If ``True``, will make sure that the host of the pool requests is�[0m
�[0;31m                consistent else will raise HostChangedError. When ``False``, you can�[0m
�[0;31m                use the pool on an HTTP proxy and request foreign hosts.�[0m
�[0;31m  �[0m
�[0;31m            :param timeout:�[0m
�[0;31m                If specified, overrides the default timeout for this one�[0m
�[0;31m                request. It may be a float (in seconds) or an instance of�[0m
�[0;31m                :class:`urllib3.util.Timeout`.�[0m
�[0;31m  �[0m
�[0;31m            :param pool_timeout:�[0m
�[0;31m                If set and the pool is set to block=True, then this method will�[0m
�[0;31m                block for ``pool_timeout`` seconds and raise EmptyPoolError if no�[0m
�[0;31m                connection is available within the time period.�[0m
�[0;31m  �[0m
�[0;31m            :param bool preload_content:�[0m
�[0;31m                If True, the response's body will be preloaded into memory.�[0m
�[0;31m  �[0m
�[0;31m            :param bool decode_content:�[0m
�[0;31m                If True, will attempt to decode the body based on the�[0m
�[0;31m                'content-encoding' header.�[0m
�[0;31m  �[0m
�[0;31m            :param release_conn:�[0m
�[0;31m                If False, then the urlopen call will not release the connection�[0m
�[0;31m                back into the pool once a response is received (but will release if�[0m
�[0;31m                you read the entire contents of the response such as when�[0m
�[0;31m                `preload_content=True`). This is useful if you're not preloading�[0m
�[0;31m                the response's content immediately. You will need to call�[0m
�[0;31m                ``r.release_conn()`` on the response ``r`` to return the connection�[0m
�[0;31m                back into the pool. If None, it takes the value of ``preload_content``�[0m
�[0;31m                which defaults to ``True``.�[0m
�[0;31m  �[0m
�[0;31m            :param bool chunked:�[0m
�[0;31m                If True, urllib3 will send the body using chunked transfer�[0m
�[0;31m                encoding. Otherwise, urllib3 will send the body using the standard�[0m
�[0;31m                content-length form. Defaults to False.�[0m
�[0;31m  �[0m
�[0;31m            :param int body_pos:�[0m
�[0;31m                Position to seek to in file-like body in the event of a retry or�[0m
�[0;31m                redirect. Typically this won't need to be set because urllib3 will�[0m
�[0;31m                auto-populate the value when needed.�[0m
�[0;31m            """�[0m
�[0;31m            parsed_url = parse_url(url)�[0m
�[0;31m            destination_scheme = parsed_url.scheme�[0m
�[0;31m  �[0m
�[0;31m            if headers is None:�[0m
�[0;31m                headers = self.headers�[0m
�[0;31m  �[0m
�[0;31m            if not isinstance(retries, Retry):�[0m
�[0;31m                retries = Retry.from_int(retries, redirect=redirect, default=self.retries)�[0m
�[0;31m  �[0m
�[0;31m            if release_conn is None:�[0m
�[0;31m                release_conn = preload_content�[0m
�[0;31m  �[0m
�[0;31m            # Check host�[0m
�[0;31m            if assert_same_host and not self.is_same_host(url):�[0m
�[0;31m                raise HostChangedError(self, url, retries)�[0m
�[0;31m  �[0m
�[0;31m            # Ensure that the URL we're connecting to is properly encoded�[0m
�[0;31m            if url.startswith("/"):�[0m
�[0;31m                url = to_str(_encode_target(url))�[0m
�[0;31m            else:�[0m
�[0;31m                url = to_str(parsed_url.url)�[0m
�[0;31m  �[0m
�[0;31m            conn = None�[0m
�[0;31m  �[0m
�[0;31m            # Track whether `conn` needs to be released before�[0m
�[0;31m            # returning/raising/recursing. Update this variable if necessary, and�[0m
�[0;31m            # leave `release_conn` constant throughout the function. That way, if�[0m
�[0;31m            # the function recurses, the original value of `release_conn` will be�[0m
�[0;31m            # passed down into the recursive call, and its value will be respected.�[0m
�[0;31m            #�[0m
�[0;31m            # See issue #651 [1] for details.�[0m
�[0;31m            #�[0m
�[0;31m            # [1] <https://github.com/urllib3/urllib3/issues/651>�[0m
�[0;31m            release_this_conn = release_conn�[0m
�[0;31m  �[0m
�[0;31m            http_tunnel_required = connection_requires_http_tunnel(�[0m
�[0;31m                self.proxy, self.proxy_config, destination_scheme�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            # Merge the proxy headers. Only done when not using HTTP CONNECT. We�[0m
�[0;31m            # have to copy the headers dict so we can safely change it without those�[0m
�[0;31m            # changes being reflected in anyone else's copy.�[0m
�[0;31m            if not http_tunnel_required:�[0m
�[0;31m                headers = headers.copy()  # type: ignore[attr-defined]�[0m
�[0;31m                headers.update(self.proxy_headers)  # type: ignore[union-attr]�[0m
�[0;31m  �[0m
�[0;31m            # Must keep the exception bound to a separate variable or else Python 3�[0m
�[0;31m            # complains about UnboundLocalError.�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Keep track of whether we cleanly exited the except block. This�[0m
�[0;31m            # ensures we do proper cleanup in finally.�[0m
�[0;31m            clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m            # Rewind body position, if needed. Record current position�[0m
�[0;31m            # for future rewinds in the event of a redirect/retry.�[0m
�[0;31m            body_pos = set_file_position(body, body_pos)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                # Request a connection from the queue.�[0m
�[0;31m                timeout_obj = self._get_timeout(timeout)�[0m
�[0;31m                conn = self._get_conn(timeout=pool_timeout)�[0m
�[0;31m  �[0m
�[0;31m                conn.timeout = timeout_obj.connect_timeout  # type: ignore[assignment]�[0m
�[0;31m  �[0m
�[0;31m                # Is this a closed/new connection that requires CONNECT tunnelling?�[0m
�[0;31m                if self.proxy is not None and http_tunnel_required and conn.is_closed:�[0m
�[0;31m                    try:�[0m
�[0;31m                        self._prepare_proxy(conn)�[0m
�[0;31m                    except (BaseSSLError, OSError, SocketTimeout) as e:�[0m
�[0;31m                        self._raise_timeout(�[0m
�[0;31m                            err=e, url=self.proxy.url, timeout_value=conn.timeout�[0m
�[0;31m                        )�[0m
�[0;31m                        raise�[0m
�[0;31m  �[0m
�[0;31m                # If we're going to release the connection in ``finally:``, then�[0m
�[0;31m                # the response doesn't need to know about the connection. Otherwise�[0m
�[0;31m                # it will also try to release it and we'll have a double-release�[0m
�[0;31m                # mess.�[0m
�[0;31m                response_conn = conn if not release_conn else None�[0m
�[0;31m  �[0m
�[0;31m                # Make the request on the HTTPConnection object�[0m
�[0;31m    >           response = self._make_request(�[0m
�[0;31m                    conn,�[0m
�[0;31m                    method,�[0m
�[0;31m                    url,�[0m
�[0;31m                    timeout=timeout_obj,�[0m
�[0;31m                    body=body,�[0m
�[0;31m                    headers=headers,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                    retries=retries,�[0m
�[0;31m                    response_conn=response_conn,�[0m
�[0;31m                    preload_content=preload_content,�[0m
�[0;31m                    decode_content=decode_content,�[0m
�[0;31m                    **response_kw,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:791:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:492: in _make_request�[0m
�[0;31m        raise new_e�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:468: in _make_request�[0m
�[0;31m        self._validate_conn(conn)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:1097: in _validate_conn�[0m
�[0;31m        conn.connect()�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:611: in connect�[0m
�[0;31m        self.sock = sock = self._new_conn()�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d73894070>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m                sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m            except socket.gaierror as e:�[0m
�[0;31m                raise NameResolutionError(self.host, self, e) from e�[0m
�[0;31m            except SocketTimeout as e:�[0m
�[0;31m                raise ConnectTimeoutError(�[0m
�[0;31m                    self,�[0m
�[0;31m                    f"Connection to {self.host} timed out. (connect timeout={self.timeout})",�[0m
�[0;31m                ) from e�[0m
�[0;31m  �[0m
�[0;31m            except OSError as e:�[0m
�[0;31m    >           raise NewConnectionError(�[0m
�[0;31m                    self, f"Failed to establish a new connection: {e}"�[0m
�[0;31m                ) from e�[0m
�[0;31m    E           urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f4d73894070>: Failed to establish a new connection: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:218: NewConnectionError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d73895b10>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m    >           resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:486:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:845: in urlopen�[0m
�[0;31m        retries = retries.increment(�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', response = None�[0m
�[0;31m    error = NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d73894070>: Failed to establish a new connection: [Errno 111] Connection refused')�[0m
�[0;31m    _pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d738965f0>�[0m
�[0;31m    _stacktrace = <traceback object at 0x7f4d7389ac80>�[0m
�[0;31m  �[0m
�[0;31m        def increment(�[0m
�[0;31m            self,�[0m
�[0;31m            method: str | None = None,�[0m
�[0;31m            url: str | None = None,�[0m
�[0;31m            response: BaseHTTPResponse | None = None,�[0m
�[0;31m            error: Exception | None = None,�[0m
�[0;31m            _pool: ConnectionPool | None = None,�[0m
�[0;31m            _stacktrace: TracebackType | None = None,�[0m
�[0;31m        ) -> Retry:�[0m
�[0;31m            """Return a new Retry object with incremented retry counters.�[0m
�[0;31m  �[0m
�[0;31m            :param response: A response object, or None, if the server did not�[0m
�[0;31m                return a response.�[0m
�[0;31m            :type response: :class:`~urllib3.response.BaseHTTPResponse`�[0m
�[0;31m            :param Exception error: An error encountered during the request, or�[0m
�[0;31m                None if the response was received successfully.�[0m
�[0;31m  �[0m
�[0;31m            :return: A new ``Retry`` object.�[0m
�[0;31m            """�[0m
�[0;31m            if self.total is False and error:�[0m
�[0;31m                # Disabled, indicate to re-raise the error.�[0m
�[0;31m                raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m  �[0m
�[0;31m            total = self.total�[0m
�[0;31m            if total is not None:�[0m
�[0;31m                total -= 1�[0m
�[0;31m  �[0m
�[0;31m            connect = self.connect�[0m
�[0;31m            read = self.read�[0m
�[0;31m            redirect = self.redirect�[0m
�[0;31m            status_count = self.status�[0m
�[0;31m            other = self.other�[0m
�[0;31m            cause = "unknown"�[0m
�[0;31m            status = None�[0m
�[0;31m            redirect_location = None�[0m
�[0;31m  �[0m
�[0;31m            if error and self._is_connection_error(error):�[0m
�[0;31m                # Connect retry?�[0m
�[0;31m                if connect is False:�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif connect is not None:�[0m
�[0;31m                    connect -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error and self._is_read_error(error):�[0m
�[0;31m                # Read retry?�[0m
�[0;31m                if read is False or method is None or not self._is_method_retryable(method):�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif read is not None:�[0m
�[0;31m                    read -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error:�[0m
�[0;31m                # Other retry?�[0m
�[0;31m                if other is not None:�[0m
�[0;31m                    other -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif response and response.get_redirect_location():�[0m
�[0;31m                # Redirect retry?�[0m
�[0;31m                if redirect is not None:�[0m
�[0;31m                    redirect -= 1�[0m
�[0;31m                cause = "too many redirects"�[0m
�[0;31m                response_redirect_location = response.get_redirect_location()�[0m
�[0;31m                if response_redirect_location:�[0m
�[0;31m                    redirect_location = response_redirect_location�[0m
�[0;31m                status = response.status�[0m
�[0;31m  �[0m
�[0;31m            else:�[0m
�[0;31m                # Incrementing because of a server error like a 500 in�[0m
�[0;31m                # status_forcelist and the given method is in the allowed_methods�[0m
�[0;31m                cause = ResponseError.GENERIC_ERROR�[0m
�[0;31m                if response and response.status:�[0m
�[0;31m                    if status_count is not None:�[0m
�[0;31m                        status_count -= 1�[0m
�[0;31m                    cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)�[0m
�[0;31m                    status = response.status�[0m
�[0;31m  �[0m
�[0;31m            history = self.history + (�[0m
�[0;31m                RequestHistory(method, url, error, status, redirect_location),�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            new_retry = self.new(�[0m
�[0;31m                total=total,�[0m
�[0;31m                connect=connect,�[0m
�[0;31m                read=read,�[0m
�[0;31m                redirect=redirect,�[0m
�[0;31m                status=status_count,�[0m
�[0;31m                other=other,�[0m
�[0;31m                history=history,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            if new_retry.is_exhausted():�[0m
�[0;31m                reason = error or ResponseError(cause)�[0m
�[0;31m    >           raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]�[0m
�[0;31m    E           urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d73894070>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/retry.py:515: MaxRetryError�[0m
�[0;31m  �[0m
�[0;31m    During handling of the above exception, another exception occurred:�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_dashboard_nodes(wazuh_params):�[0m
�[0;31m    >       wazuh_api = WazuhAPI(wazuh_params['dashboard'], component='dashboard')�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:121:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:171: in __init__�[0m
�[0;31m        self._authenticate()�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:194: in _authenticate�[0m
�[0;31m        token = json.loads(requests.post(login_url, headers=login_headers, verify=False).content.decode())['data']['token']�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:115: in post�[0m
�[0;31m        return request("post", url, data=data, json=json, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:59: in request�[0m
�[0;31m        return session.request(method=method, url=url, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:589: in request�[0m
�[0;31m        resp = self.send(prep, **send_kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:703: in send�[0m
�[0;31m        r = adapter.send(request, **kwargs)�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d73895b10>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m            except (ProtocolError, OSError) as err:�[0m
�[0;31m                raise ConnectionError(err, request=request)�[0m
�[0;31m  �[0m
�[0;31m            except MaxRetryError as e:�[0m
�[0;31m                if isinstance(e.reason, ConnectTimeoutError):�[0m
�[0;31m                    # TODO: Remove this in 3.0.0: see #2811�[0m
�[0;31m                    if not isinstance(e.reason, NewConnectionError):�[0m
�[0;31m                        raise ConnectTimeout(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, ResponseError):�[0m
�[0;31m                    raise RetryError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _ProxyError):�[0m
�[0;31m                    raise ProxyError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _SSLError):�[0m
�[0;31m                    # This branch is for urllib3 v1.22 and later.�[0m
�[0;31m                    raise SSLError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m    >           raise ConnectionError(e, request=request)�[0m
�[0;31m    E           requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d73894070>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:519: ConnectionError�[0m
�[0;31m    ___________________________ test_dashboard_keystore ____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_dashboard_keystore(wazuh_params):�[0m
�[0;31m    >       assert WazuhDashboard.is_dashboard_keystore_working(wazuh_params['dashboard']), logger.error(f"There is a problem in the Wazuh dashboard keystore in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['dashboard'])}")�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:126:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    inventory_path = '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'�[0m
�[0;31m  �[0m
�[0;31m        @staticmethod�[0m
�[0;31m        def is_dashboard_keystore_working(inventory_path) -> bool:�[0m
�[0;31m            """�[0m
�[0;31m            Returns True/False depending if the Wazuh dashboard keystore is active or not�[0m
�[0;31m  �[0m
�[0;31m            Args:�[0m
�[0;31m                inventory_path (str): host's inventory path�[0m
�[0;31m  �[0m
�[0;31m            Returns:�[0m
�[0;31m            - bool: Status of the Wazuh dashboard keystore.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m    >       return 'No such file or directory' not in ConnectionManager.execute_commands(inventory_path, '/usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore list --allow-root').get('output')�[0m
�[0;31m    E       TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/helpers/dashboard.py:57: TypeError�[0m
�[0;31m    _____________________________ test_dashboard_port ______________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_dashboard_port(wazuh_params):�[0m
�[0;31m    >       assert WazuhDashboard.is_dashboard_port_open(wazuh_params['dashboard']), logger.error(f"The Wazuh dashboard port in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['dashboard'])} is closed")�[0m
�[0;31m    E       AssertionError: None�[0m
�[0;31m    E       assert False�[0m
�[0;31m    E        +  where False = <function WazuhDashboard.is_dashboard_port_open at 0x7f4d7967db40>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E        +    where <function WazuhDashboard.is_dashboard_port_open at 0x7f4d7967db40> = WazuhDashboard.is_dashboard_port_open�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:130: AssertionError�[0m
�[0;31m    _____________________________ test_indexer_status ______________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_status(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           assert 'active' in GeneralComponentActions.get_component_status(indexer_params, 'wazuh-indexer'), logger.error(f'The Wazuh indexer in {HostInformation.get_os_name_and_version_from_inventory(indexer_params)} is not active')�[0m
�[0;31m    E           TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:135: TypeError�[0m
�[0;31m    _________________________ test_indexer_clusters_status _________________________�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m    >           sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:203:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:85: in create_connection�[0m
�[0;31m        raise err�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    address = ('ec2-54-173-210-30.compute-1.amazonaws.com', 55000), timeout = None�[0m
�[0;31m    source_address = None, socket_options = [(6, 1, 1)]�[0m
�[0;31m  �[0m
�[0;31m        def create_connection(�[0m
�[0;31m            address: tuple[str, int],�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            source_address: tuple[str, int] | None = None,�[0m
�[0;31m            socket_options: _TYPE_SOCKET_OPTIONS | None = None,�[0m
�[0;31m        ) -> socket.socket:�[0m
�[0;31m            """Connect to *address* and return the socket object.�[0m
�[0;31m  �[0m
�[0;31m            Convenience function.  Connect to *address* (a 2-tuple ``(host,�[0m
�[0;31m            port)``) and return the socket object.  Passing the optional�[0m
�[0;31m            *timeout* parameter will set the timeout on the socket instance�[0m
�[0;31m            before attempting to connect.  If no *timeout* is supplied, the�[0m
�[0;31m            global default timeout setting returned by :func:`socket.getdefaulttimeout`�[0m
�[0;31m            is used.  If *source_address* is set it must be a tuple of (host, port)�[0m
�[0;31m            for the socket to bind as a source address before making the connection.�[0m
�[0;31m            An host of '' or port 0 tells the OS to use the default.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            host, port = address�[0m
�[0;31m            if host.startswith("["):�[0m
�[0;31m                host = host.strip("[]")�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Using the value from allowed_gai_family() in the context of getaddrinfo lets�[0m
�[0;31m            # us select whether to work with IPv4 DNS records, IPv6 records, or both.�[0m
�[0;31m            # The original create_connection function always returns all records.�[0m
�[0;31m            family = allowed_gai_family()�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                host.encode("idna")�[0m
�[0;31m            except UnicodeError:�[0m
�[0;31m                raise LocationParseError(f"'{host}', label empty or too long") from None�[0m
�[0;31m  �[0m
�[0;31m            for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):�[0m
�[0;31m                af, socktype, proto, canonname, sa = res�[0m
�[0;31m                sock = None�[0m
�[0;31m                try:�[0m
�[0;31m                    sock = socket.socket(af, socktype, proto)�[0m
�[0;31m  �[0m
�[0;31m                    # If provided, set socket level options before connecting.�[0m
�[0;31m                    _set_socket_options(sock, socket_options)�[0m
�[0;31m  �[0m
�[0;31m                    if timeout is not _DEFAULT_TIMEOUT:�[0m
�[0;31m                        sock.settimeout(timeout)�[0m
�[0;31m                    if source_address:�[0m
�[0;31m                        sock.bind(source_address)�[0m
�[0;31m    >               sock.connect(sa)�[0m
�[0;31m    E               ConnectionRefusedError: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d738bb280>�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', body = None�[0m
�[0;31m    headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-aliv...pplication/json', 'Authorization': 'Basic d2F6dWg6emQ2PzA4WGZ0LkVacm0qNT82NlRRVEIranJ1Q2s2K1E=', 'Content-Length': '0'}�[0m
�[0;31m    retries = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    redirect = False, assert_same_host = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None�[0m
�[0;31m    release_conn = False, chunked = False, body_pos = None, preload_content = False�[0m
�[0;31m    decode_content = False, response_kw = {}�[0m
�[0;31m    parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/security/user/authenticate', query=None, fragment=None)�[0m
�[0;31m    destination_scheme = None, conn = None, release_this_conn = True�[0m
�[0;31m    http_tunnel_required = False, err = None, clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m        def urlopen(  # type: ignore[override]�[0m
�[0;31m            self,�[0m
�[0;31m            method: str,�[0m
�[0;31m            url: str,�[0m
�[0;31m            body: _TYPE_BODY | None = None,�[0m
�[0;31m            headers: typing.Mapping[str, str] | None = None,�[0m
�[0;31m            retries: Retry | bool | int | None = None,�[0m
�[0;31m            redirect: bool = True,�[0m
�[0;31m            assert_same_host: bool = True,�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            pool_timeout: int | None = None,�[0m
�[0;31m            release_conn: bool | None = None,�[0m
�[0;31m            chunked: bool = False,�[0m
�[0;31m            body_pos: _TYPE_BODY_POSITION | None = None,�[0m
�[0;31m            preload_content: bool = True,�[0m
�[0;31m            decode_content: bool = True,�[0m
�[0;31m            **response_kw: typing.Any,�[0m
�[0;31m        ) -> BaseHTTPResponse:�[0m
�[0;31m            """�[0m
�[0;31m            Get a connection from the pool and perform an HTTP request. This is the�[0m
�[0;31m            lowest level call for making a request, so you'll need to specify all�[0m
�[0;31m            the raw details.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               More commonly, it's appropriate to use a convenience method�[0m
�[0;31m               such as :meth:`request`.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               `release_conn` will only behave as expected if�[0m
�[0;31m               `preload_content=False` because we want to make�[0m
�[0;31m               `preload_content=False` the default behaviour someday soon without�[0m
�[0;31m               breaking backwards compatibility.�[0m
�[0;31m  �[0m
�[0;31m            :param method:�[0m
�[0;31m                HTTP request method (such as GET, POST, PUT, etc.)�[0m
�[0;31m  �[0m
�[0;31m            :param url:�[0m
�[0;31m                The URL to perform the request on.�[0m
�[0;31m  �[0m
�[0;31m            :param body:�[0m
�[0;31m                Data to send in the request body, either :class:`str`, :class:`bytes`,�[0m
�[0;31m                an iterable of :class:`str`/:class:`bytes`, or a file-like object.�[0m
�[0;31m  �[0m
�[0;31m            :param headers:�[0m
�[0;31m                Dictionary of custom headers to send, such as User-Agent,�[0m
�[0;31m                If-None-Match, etc. If None, pool headers are used. If provided,�[0m
�[0;31m                these headers completely replace any pool-specific headers.�[0m
�[0;31m  �[0m
�[0;31m            :param retries:�[0m
�[0;31m                Configure the number of retries to allow before raising a�[0m
�[0;31m                :class:`~urllib3.exceptions.MaxRetryError` exception.�[0m
�[0;31m  �[0m
�[0;31m                Pass ``None`` to retry until you receive a response. Pass a�[0m
�[0;31m                :class:`~urllib3.util.retry.Retry` object for fine-grained control�[0m
�[0;31m                over different types of retries.�[0m
�[0;31m                Pass an integer number to retry connection errors that many times,�[0m
�[0;31m                but no other types of errors. Pass zero to never retry.�[0m
�[0;31m  �[0m
�[0;31m                If ``False``, then retries are disabled and any exception is raised�[0m
�[0;31m                immediately. Also, instead of raising a MaxRetryError on redirects,�[0m
�[0;31m                the redirect response will be returned.�[0m
�[0;31m  �[0m
�[0;31m            :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.�[0m
�[0;31m  �[0m
�[0;31m            :param redirect:�[0m
�[0;31m                If True, automatically handle redirects (status codes 301, 302,�[0m
�[0;31m                303, 307, 308). Each redirect counts as a retry. Disabling retries�[0m
�[0;31m                will disable redirect, too.�[0m
�[0;31m  �[0m
�[0;31m            :param assert_same_host:�[0m
�[0;31m                If ``True``, will make sure that the host of the pool requests is�[0m
�[0;31m                consistent else will raise HostChangedError. When ``False``, you can�[0m
�[0;31m                use the pool on an HTTP proxy and request foreign hosts.�[0m
�[0;31m  �[0m
�[0;31m            :param timeout:�[0m
�[0;31m                If specified, overrides the default timeout for this one�[0m
�[0;31m                request. It may be a float (in seconds) or an instance of�[0m
�[0;31m                :class:`urllib3.util.Timeout`.�[0m
�[0;31m  �[0m
�[0;31m            :param pool_timeout:�[0m
�[0;31m                If set and the pool is set to block=True, then this method will�[0m
�[0;31m                block for ``pool_timeout`` seconds and raise EmptyPoolError if no�[0m
�[0;31m                connection is available within the time period.�[0m
�[0;31m  �[0m
�[0;31m            :param bool preload_content:�[0m
�[0;31m                If True, the response's body will be preloaded into memory.�[0m
�[0;31m  �[0m
�[0;31m            :param bool decode_content:�[0m
�[0;31m                If True, will attempt to decode the body based on the�[0m
�[0;31m                'content-encoding' header.�[0m
�[0;31m  �[0m
�[0;31m            :param release_conn:�[0m
�[0;31m                If False, then the urlopen call will not release the connection�[0m
�[0;31m                back into the pool once a response is received (but will release if�[0m
�[0;31m                you read the entire contents of the response such as when�[0m
�[0;31m                `preload_content=True`). This is useful if you're not preloading�[0m
�[0;31m                the response's content immediately. You will need to call�[0m
�[0;31m                ``r.release_conn()`` on the response ``r`` to return the connection�[0m
�[0;31m                back into the pool. If None, it takes the value of ``preload_content``�[0m
�[0;31m                which defaults to ``True``.�[0m
�[0;31m  �[0m
�[0;31m            :param bool chunked:�[0m
�[0;31m                If True, urllib3 will send the body using chunked transfer�[0m
�[0;31m                encoding. Otherwise, urllib3 will send the body using the standard�[0m
�[0;31m                content-length form. Defaults to False.�[0m
�[0;31m  �[0m
�[0;31m            :param int body_pos:�[0m
�[0;31m                Position to seek to in file-like body in the event of a retry or�[0m
�[0;31m                redirect. Typically this won't need to be set because urllib3 will�[0m
�[0;31m                auto-populate the value when needed.�[0m
�[0;31m            """�[0m
�[0;31m            parsed_url = parse_url(url)�[0m
�[0;31m            destination_scheme = parsed_url.scheme�[0m
�[0;31m  �[0m
�[0;31m            if headers is None:�[0m
�[0;31m                headers = self.headers�[0m
�[0;31m  �[0m
�[0;31m            if not isinstance(retries, Retry):�[0m
�[0;31m                retries = Retry.from_int(retries, redirect=redirect, default=self.retries)�[0m
�[0;31m  �[0m
�[0;31m            if release_conn is None:�[0m
�[0;31m                release_conn = preload_content�[0m
�[0;31m  �[0m
�[0;31m            # Check host�[0m
�[0;31m            if assert_same_host and not self.is_same_host(url):�[0m
�[0;31m                raise HostChangedError(self, url, retries)�[0m
�[0;31m  �[0m
�[0;31m            # Ensure that the URL we're connecting to is properly encoded�[0m
�[0;31m            if url.startswith("/"):�[0m
�[0;31m                url = to_str(_encode_target(url))�[0m
�[0;31m            else:�[0m
�[0;31m                url = to_str(parsed_url.url)�[0m
�[0;31m  �[0m
�[0;31m            conn = None�[0m
�[0;31m  �[0m
�[0;31m            # Track whether `conn` needs to be released before�[0m
�[0;31m            # returning/raising/recursing. Update this variable if necessary, and�[0m
�[0;31m            # leave `release_conn` constant throughout the function. That way, if�[0m
�[0;31m            # the function recurses, the original value of `release_conn` will be�[0m
�[0;31m            # passed down into the recursive call, and its value will be respected.�[0m
�[0;31m            #�[0m
�[0;31m            # See issue #651 [1] for details.�[0m
�[0;31m            #�[0m
�[0;31m            # [1] <https://github.com/urllib3/urllib3/issues/651>�[0m
�[0;31m            release_this_conn = release_conn�[0m
�[0;31m  �[0m
�[0;31m            http_tunnel_required = connection_requires_http_tunnel(�[0m
�[0;31m                self.proxy, self.proxy_config, destination_scheme�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            # Merge the proxy headers. Only done when not using HTTP CONNECT. We�[0m
�[0;31m            # have to copy the headers dict so we can safely change it without those�[0m
�[0;31m            # changes being reflected in anyone else's copy.�[0m
�[0;31m            if not http_tunnel_required:�[0m
�[0;31m                headers = headers.copy()  # type: ignore[attr-defined]�[0m
�[0;31m                headers.update(self.proxy_headers)  # type: ignore[union-attr]�[0m
�[0;31m  �[0m
�[0;31m            # Must keep the exception bound to a separate variable or else Python 3�[0m
�[0;31m            # complains about UnboundLocalError.�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Keep track of whether we cleanly exited the except block. This�[0m
�[0;31m            # ensures we do proper cleanup in finally.�[0m
�[0;31m            clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m            # Rewind body position, if needed. Record current position�[0m
�[0;31m            # for future rewinds in the event of a redirect/retry.�[0m
�[0;31m            body_pos = set_file_position(body, body_pos)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                # Request a connection from the queue.�[0m
�[0;31m                timeout_obj = self._get_timeout(timeout)�[0m
�[0;31m                conn = self._get_conn(timeout=pool_timeout)�[0m
�[0;31m  �[0m
�[0;31m                conn.timeout = timeout_obj.connect_timeout  # type: ignore[assignment]�[0m
�[0;31m  �[0m
�[0;31m                # Is this a closed/new connection that requires CONNECT tunnelling?�[0m
�[0;31m                if self.proxy is not None and http_tunnel_required and conn.is_closed:�[0m
�[0;31m                    try:�[0m
�[0;31m                        self._prepare_proxy(conn)�[0m
�[0;31m                    except (BaseSSLError, OSError, SocketTimeout) as e:�[0m
�[0;31m                        self._raise_timeout(�[0m
�[0;31m                            err=e, url=self.proxy.url, timeout_value=conn.timeout�[0m
�[0;31m                        )�[0m
�[0;31m                        raise�[0m
�[0;31m  �[0m
�[0;31m                # If we're going to release the connection in ``finally:``, then�[0m
�[0;31m                # the response doesn't need to know about the connection. Otherwise�[0m
�[0;31m                # it will also try to release it and we'll have a double-release�[0m
�[0;31m                # mess.�[0m
�[0;31m                response_conn = conn if not release_conn else None�[0m
�[0;31m  �[0m
�[0;31m                # Make the request on the HTTPConnection object�[0m
�[0;31m    >           response = self._make_request(�[0m
�[0;31m                    conn,�[0m
�[0;31m                    method,�[0m
�[0;31m                    url,�[0m
�[0;31m                    timeout=timeout_obj,�[0m
�[0;31m                    body=body,�[0m
�[0;31m                    headers=headers,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                    retries=retries,�[0m
�[0;31m                    response_conn=response_conn,�[0m
�[0;31m                    preload_content=preload_content,�[0m
�[0;31m                    decode_content=decode_content,�[0m
�[0;31m                    **response_kw,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:791:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:492: in _make_request�[0m
�[0;31m        raise new_e�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:468: in _make_request�[0m
�[0;31m        self._validate_conn(conn)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:1097: in _validate_conn�[0m
�[0;31m        conn.connect()�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:611: in connect�[0m
�[0;31m        self.sock = sock = self._new_conn()�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m                sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m            except socket.gaierror as e:�[0m
�[0;31m                raise NameResolutionError(self.host, self, e) from e�[0m
�[0;31m            except SocketTimeout as e:�[0m
�[0;31m                raise ConnectTimeoutError(�[0m
�[0;31m                    self,�[0m
�[0;31m                    f"Connection to {self.host} timed out. (connect timeout={self.timeout})",�[0m
�[0;31m                ) from e�[0m
�[0;31m  �[0m
�[0;31m            except OSError as e:�[0m
�[0;31m    >           raise NewConnectionError(�[0m
�[0;31m                    self, f"Failed to establish a new connection: {e}"�[0m
�[0;31m                ) from e�[0m
�[0;31m    E           urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>: Failed to establish a new connection: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:218: NewConnectionError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d738b92a0>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m    >           resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:486:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:845: in urlopen�[0m
�[0;31m        retries = retries.increment(�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', response = None�[0m
�[0;31m    error = NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>: Failed to establish a new connection: [Errno 111] Connection refused')�[0m
�[0;31m    _pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d738bb280>�[0m
�[0;31m    _stacktrace = <traceback object at 0x7f4d738c2980>�[0m
�[0;31m  �[0m
�[0;31m        def increment(�[0m
�[0;31m            self,�[0m
�[0;31m            method: str | None = None,�[0m
�[0;31m            url: str | None = None,�[0m
�[0;31m            response: BaseHTTPResponse | None = None,�[0m
�[0;31m            error: Exception | None = None,�[0m
�[0;31m            _pool: ConnectionPool | None = None,�[0m
�[0;31m            _stacktrace: TracebackType | None = None,�[0m
�[0;31m        ) -> Retry:�[0m
�[0;31m            """Return a new Retry object with incremented retry counters.�[0m
�[0;31m  �[0m
�[0;31m            :param response: A response object, or None, if the server did not�[0m
�[0;31m                return a response.�[0m
�[0;31m            :type response: :class:`~urllib3.response.BaseHTTPResponse`�[0m
�[0;31m            :param Exception error: An error encountered during the request, or�[0m
�[0;31m                None if the response was received successfully.�[0m
�[0;31m  �[0m
�[0;31m            :return: A new ``Retry`` object.�[0m
�[0;31m            """�[0m
�[0;31m            if self.total is False and error:�[0m
�[0;31m                # Disabled, indicate to re-raise the error.�[0m
�[0;31m                raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m  �[0m
�[0;31m            total = self.total�[0m
�[0;31m            if total is not None:�[0m
�[0;31m                total -= 1�[0m
�[0;31m  �[0m
�[0;31m            connect = self.connect�[0m
�[0;31m            read = self.read�[0m
�[0;31m            redirect = self.redirect�[0m
�[0;31m            status_count = self.status�[0m
�[0;31m            other = self.other�[0m
�[0;31m            cause = "unknown"�[0m
�[0;31m            status = None�[0m
�[0;31m            redirect_location = None�[0m
�[0;31m  �[0m
�[0;31m            if error and self._is_connection_error(error):�[0m
�[0;31m                # Connect retry?�[0m
�[0;31m                if connect is False:�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif connect is not None:�[0m
�[0;31m                    connect -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error and self._is_read_error(error):�[0m
�[0;31m                # Read retry?�[0m
�[0;31m                if read is False or method is None or not self._is_method_retryable(method):�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif read is not None:�[0m
�[0;31m                    read -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error:�[0m
�[0;31m                # Other retry?�[0m
�[0;31m                if other is not None:�[0m
�[0;31m                    other -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif response and response.get_redirect_location():�[0m
�[0;31m                # Redirect retry?�[0m
�[0;31m                if redirect is not None:�[0m
�[0;31m                    redirect -= 1�[0m
�[0;31m                cause = "too many redirects"�[0m
�[0;31m                response_redirect_location = response.get_redirect_location()�[0m
�[0;31m                if response_redirect_location:�[0m
�[0;31m                    redirect_location = response_redirect_location�[0m
�[0;31m                status = response.status�[0m
�[0;31m  �[0m
�[0;31m            else:�[0m
�[0;31m                # Incrementing because of a server error like a 500 in�[0m
�[0;31m                # status_forcelist and the given method is in the allowed_methods�[0m
�[0;31m                cause = ResponseError.GENERIC_ERROR�[0m
�[0;31m                if response and response.status:�[0m
�[0;31m                    if status_count is not None:�[0m
�[0;31m                        status_count -= 1�[0m
�[0;31m                    cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)�[0m
�[0;31m                    status = response.status�[0m
�[0;31m  �[0m
�[0;31m            history = self.history + (�[0m
�[0;31m                RequestHistory(method, url, error, status, redirect_location),�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            new_retry = self.new(�[0m
�[0;31m                total=total,�[0m
�[0;31m                connect=connect,�[0m
�[0;31m                read=read,�[0m
�[0;31m                redirect=redirect,�[0m
�[0;31m                status=status_count,�[0m
�[0;31m                other=other,�[0m
�[0;31m                history=history,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            if new_retry.is_exhausted():�[0m
�[0;31m                reason = error or ResponseError(cause)�[0m
�[0;31m    >           raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]�[0m
�[0;31m    E           urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/retry.py:515: MaxRetryError�[0m
�[0;31m  �[0m
�[0;31m    During handling of the above exception, another exception occurred:�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_clusters_status(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           wazuh_api = WazuhAPI(indexer_params, component='indexer')�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:140:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:171: in __init__�[0m
�[0;31m        self._authenticate()�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:194: in _authenticate�[0m
�[0;31m        token = json.loads(requests.post(login_url, headers=login_headers, verify=False).content.decode())['data']['token']�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:115: in post�[0m
�[0;31m        return request("post", url, data=data, json=json, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:59: in request�[0m
�[0;31m        return session.request(method=method, url=url, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:589: in request�[0m
�[0;31m        resp = self.send(prep, **send_kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:703: in send�[0m
�[0;31m        r = adapter.send(request, **kwargs)�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d738b92a0>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m            except (ProtocolError, OSError) as err:�[0m
�[0;31m                raise ConnectionError(err, request=request)�[0m
�[0;31m  �[0m
�[0;31m            except MaxRetryError as e:�[0m
�[0;31m                if isinstance(e.reason, ConnectTimeoutError):�[0m
�[0;31m                    # TODO: Remove this in 3.0.0: see #2811�[0m
�[0;31m                    if not isinstance(e.reason, NewConnectionError):�[0m
�[0;31m                        raise ConnectTimeout(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, ResponseError):�[0m
�[0;31m                    raise RetryError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _ProxyError):�[0m
�[0;31m                    raise ProxyError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _SSLError):�[0m
�[0;31m                    # This branch is for urllib3 v1.22 and later.�[0m
�[0;31m                    raise SSLError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m    >           raise ConnectionError(e, request=request)�[0m
�[0;31m    E           requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d738bb0a0>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:519: ConnectionError�[0m
�[0;31m    _____________________________ test_indexer_indexes _____________________________�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m    >           sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:203:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:85: in create_connection�[0m
�[0;31m        raise err�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    address = ('ec2-54-173-210-30.compute-1.amazonaws.com', 55000), timeout = None�[0m
�[0;31m    source_address = None, socket_options = [(6, 1, 1)]�[0m
�[0;31m  �[0m
�[0;31m        def create_connection(�[0m
�[0;31m            address: tuple[str, int],�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            source_address: tuple[str, int] | None = None,�[0m
�[0;31m            socket_options: _TYPE_SOCKET_OPTIONS | None = None,�[0m
�[0;31m        ) -> socket.socket:�[0m
�[0;31m            """Connect to *address* and return the socket object.�[0m
�[0;31m  �[0m
�[0;31m            Convenience function.  Connect to *address* (a 2-tuple ``(host,�[0m
�[0;31m            port)``) and return the socket object.  Passing the optional�[0m
�[0;31m            *timeout* parameter will set the timeout on the socket instance�[0m
�[0;31m            before attempting to connect.  If no *timeout* is supplied, the�[0m
�[0;31m            global default timeout setting returned by :func:`socket.getdefaulttimeout`�[0m
�[0;31m            is used.  If *source_address* is set it must be a tuple of (host, port)�[0m
�[0;31m            for the socket to bind as a source address before making the connection.�[0m
�[0;31m            An host of '' or port 0 tells the OS to use the default.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            host, port = address�[0m
�[0;31m            if host.startswith("["):�[0m
�[0;31m                host = host.strip("[]")�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Using the value from allowed_gai_family() in the context of getaddrinfo lets�[0m
�[0;31m            # us select whether to work with IPv4 DNS records, IPv6 records, or both.�[0m
�[0;31m            # The original create_connection function always returns all records.�[0m
�[0;31m            family = allowed_gai_family()�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                host.encode("idna")�[0m
�[0;31m            except UnicodeError:�[0m
�[0;31m                raise LocationParseError(f"'{host}', label empty or too long") from None�[0m
�[0;31m  �[0m
�[0;31m            for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):�[0m
�[0;31m                af, socktype, proto, canonname, sa = res�[0m
�[0;31m                sock = None�[0m
�[0;31m                try:�[0m
�[0;31m                    sock = socket.socket(af, socktype, proto)�[0m
�[0;31m  �[0m
�[0;31m                    # If provided, set socket level options before connecting.�[0m
�[0;31m                    _set_socket_options(sock, socket_options)�[0m
�[0;31m  �[0m
�[0;31m                    if timeout is not _DEFAULT_TIMEOUT:�[0m
�[0;31m                        sock.settimeout(timeout)�[0m
�[0;31m                    if source_address:�[0m
�[0;31m                        sock.bind(source_address)�[0m
�[0;31m    >               sock.connect(sa)�[0m
�[0;31m    E               ConnectionRefusedError: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d7398b070>�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', body = None�[0m
�[0;31m    headers = {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-aliv...pplication/json', 'Authorization': 'Basic d2F6dWg6emQ2PzA4WGZ0LkVacm0qNT82NlRRVEIranJ1Q2s2K1E=', 'Content-Length': '0'}�[0m
�[0;31m    retries = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    redirect = False, assert_same_host = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None�[0m
�[0;31m    release_conn = False, chunked = False, body_pos = None, preload_content = False�[0m
�[0;31m    decode_content = False, response_kw = {}�[0m
�[0;31m    parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/security/user/authenticate', query=None, fragment=None)�[0m
�[0;31m    destination_scheme = None, conn = None, release_this_conn = True�[0m
�[0;31m    http_tunnel_required = False, err = None, clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m        def urlopen(  # type: ignore[override]�[0m
�[0;31m            self,�[0m
�[0;31m            method: str,�[0m
�[0;31m            url: str,�[0m
�[0;31m            body: _TYPE_BODY | None = None,�[0m
�[0;31m            headers: typing.Mapping[str, str] | None = None,�[0m
�[0;31m            retries: Retry | bool | int | None = None,�[0m
�[0;31m            redirect: bool = True,�[0m
�[0;31m            assert_same_host: bool = True,�[0m
�[0;31m            timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,�[0m
�[0;31m            pool_timeout: int | None = None,�[0m
�[0;31m            release_conn: bool | None = None,�[0m
�[0;31m            chunked: bool = False,�[0m
�[0;31m            body_pos: _TYPE_BODY_POSITION | None = None,�[0m
�[0;31m            preload_content: bool = True,�[0m
�[0;31m            decode_content: bool = True,�[0m
�[0;31m            **response_kw: typing.Any,�[0m
�[0;31m        ) -> BaseHTTPResponse:�[0m
�[0;31m            """�[0m
�[0;31m            Get a connection from the pool and perform an HTTP request. This is the�[0m
�[0;31m            lowest level call for making a request, so you'll need to specify all�[0m
�[0;31m            the raw details.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               More commonly, it's appropriate to use a convenience method�[0m
�[0;31m               such as :meth:`request`.�[0m
�[0;31m  �[0m
�[0;31m            .. note::�[0m
�[0;31m  �[0m
�[0;31m               `release_conn` will only behave as expected if�[0m
�[0;31m               `preload_content=False` because we want to make�[0m
�[0;31m               `preload_content=False` the default behaviour someday soon without�[0m
�[0;31m               breaking backwards compatibility.�[0m
�[0;31m  �[0m
�[0;31m            :param method:�[0m
�[0;31m                HTTP request method (such as GET, POST, PUT, etc.)�[0m
�[0;31m  �[0m
�[0;31m            :param url:�[0m
�[0;31m                The URL to perform the request on.�[0m
�[0;31m  �[0m
�[0;31m            :param body:�[0m
�[0;31m                Data to send in the request body, either :class:`str`, :class:`bytes`,�[0m
�[0;31m                an iterable of :class:`str`/:class:`bytes`, or a file-like object.�[0m
�[0;31m  �[0m
�[0;31m            :param headers:�[0m
�[0;31m                Dictionary of custom headers to send, such as User-Agent,�[0m
�[0;31m                If-None-Match, etc. If None, pool headers are used. If provided,�[0m
�[0;31m                these headers completely replace any pool-specific headers.�[0m
�[0;31m  �[0m
�[0;31m            :param retries:�[0m
�[0;31m                Configure the number of retries to allow before raising a�[0m
�[0;31m                :class:`~urllib3.exceptions.MaxRetryError` exception.�[0m
�[0;31m  �[0m
�[0;31m                Pass ``None`` to retry until you receive a response. Pass a�[0m
�[0;31m                :class:`~urllib3.util.retry.Retry` object for fine-grained control�[0m
�[0;31m                over different types of retries.�[0m
�[0;31m                Pass an integer number to retry connection errors that many times,�[0m
�[0;31m                but no other types of errors. Pass zero to never retry.�[0m
�[0;31m  �[0m
�[0;31m                If ``False``, then retries are disabled and any exception is raised�[0m
�[0;31m                immediately. Also, instead of raising a MaxRetryError on redirects,�[0m
�[0;31m                the redirect response will be returned.�[0m
�[0;31m  �[0m
�[0;31m            :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.�[0m
�[0;31m  �[0m
�[0;31m            :param redirect:�[0m
�[0;31m                If True, automatically handle redirects (status codes 301, 302,�[0m
�[0;31m                303, 307, 308). Each redirect counts as a retry. Disabling retries�[0m
�[0;31m                will disable redirect, too.�[0m
�[0;31m  �[0m
�[0;31m            :param assert_same_host:�[0m
�[0;31m                If ``True``, will make sure that the host of the pool requests is�[0m
�[0;31m                consistent else will raise HostChangedError. When ``False``, you can�[0m
�[0;31m                use the pool on an HTTP proxy and request foreign hosts.�[0m
�[0;31m  �[0m
�[0;31m            :param timeout:�[0m
�[0;31m                If specified, overrides the default timeout for this one�[0m
�[0;31m                request. It may be a float (in seconds) or an instance of�[0m
�[0;31m                :class:`urllib3.util.Timeout`.�[0m
�[0;31m  �[0m
�[0;31m            :param pool_timeout:�[0m
�[0;31m                If set and the pool is set to block=True, then this method will�[0m
�[0;31m                block for ``pool_timeout`` seconds and raise EmptyPoolError if no�[0m
�[0;31m                connection is available within the time period.�[0m
�[0;31m  �[0m
�[0;31m            :param bool preload_content:�[0m
�[0;31m                If True, the response's body will be preloaded into memory.�[0m
�[0;31m  �[0m
�[0;31m            :param bool decode_content:�[0m
�[0;31m                If True, will attempt to decode the body based on the�[0m
�[0;31m                'content-encoding' header.�[0m
�[0;31m  �[0m
�[0;31m            :param release_conn:�[0m
�[0;31m                If False, then the urlopen call will not release the connection�[0m
�[0;31m                back into the pool once a response is received (but will release if�[0m
�[0;31m                you read the entire contents of the response such as when�[0m
�[0;31m                `preload_content=True`). This is useful if you're not preloading�[0m
�[0;31m                the response's content immediately. You will need to call�[0m
�[0;31m                ``r.release_conn()`` on the response ``r`` to return the connection�[0m
�[0;31m                back into the pool. If None, it takes the value of ``preload_content``�[0m
�[0;31m                which defaults to ``True``.�[0m
�[0;31m  �[0m
�[0;31m            :param bool chunked:�[0m
�[0;31m                If True, urllib3 will send the body using chunked transfer�[0m
�[0;31m                encoding. Otherwise, urllib3 will send the body using the standard�[0m
�[0;31m                content-length form. Defaults to False.�[0m
�[0;31m  �[0m
�[0;31m            :param int body_pos:�[0m
�[0;31m                Position to seek to in file-like body in the event of a retry or�[0m
�[0;31m                redirect. Typically this won't need to be set because urllib3 will�[0m
�[0;31m                auto-populate the value when needed.�[0m
�[0;31m            """�[0m
�[0;31m            parsed_url = parse_url(url)�[0m
�[0;31m            destination_scheme = parsed_url.scheme�[0m
�[0;31m  �[0m
�[0;31m            if headers is None:�[0m
�[0;31m                headers = self.headers�[0m
�[0;31m  �[0m
�[0;31m            if not isinstance(retries, Retry):�[0m
�[0;31m                retries = Retry.from_int(retries, redirect=redirect, default=self.retries)�[0m
�[0;31m  �[0m
�[0;31m            if release_conn is None:�[0m
�[0;31m                release_conn = preload_content�[0m
�[0;31m  �[0m
�[0;31m            # Check host�[0m
�[0;31m            if assert_same_host and not self.is_same_host(url):�[0m
�[0;31m                raise HostChangedError(self, url, retries)�[0m
�[0;31m  �[0m
�[0;31m            # Ensure that the URL we're connecting to is properly encoded�[0m
�[0;31m            if url.startswith("/"):�[0m
�[0;31m                url = to_str(_encode_target(url))�[0m
�[0;31m            else:�[0m
�[0;31m                url = to_str(parsed_url.url)�[0m
�[0;31m  �[0m
�[0;31m            conn = None�[0m
�[0;31m  �[0m
�[0;31m            # Track whether `conn` needs to be released before�[0m
�[0;31m            # returning/raising/recursing. Update this variable if necessary, and�[0m
�[0;31m            # leave `release_conn` constant throughout the function. That way, if�[0m
�[0;31m            # the function recurses, the original value of `release_conn` will be�[0m
�[0;31m            # passed down into the recursive call, and its value will be respected.�[0m
�[0;31m            #�[0m
�[0;31m            # See issue #651 [1] for details.�[0m
�[0;31m            #�[0m
�[0;31m            # [1] <https://github.com/urllib3/urllib3/issues/651>�[0m
�[0;31m            release_this_conn = release_conn�[0m
�[0;31m  �[0m
�[0;31m            http_tunnel_required = connection_requires_http_tunnel(�[0m
�[0;31m                self.proxy, self.proxy_config, destination_scheme�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            # Merge the proxy headers. Only done when not using HTTP CONNECT. We�[0m
�[0;31m            # have to copy the headers dict so we can safely change it without those�[0m
�[0;31m            # changes being reflected in anyone else's copy.�[0m
�[0;31m            if not http_tunnel_required:�[0m
�[0;31m                headers = headers.copy()  # type: ignore[attr-defined]�[0m
�[0;31m                headers.update(self.proxy_headers)  # type: ignore[union-attr]�[0m
�[0;31m  �[0m
�[0;31m            # Must keep the exception bound to a separate variable or else Python 3�[0m
�[0;31m            # complains about UnboundLocalError.�[0m
�[0;31m            err = None�[0m
�[0;31m  �[0m
�[0;31m            # Keep track of whether we cleanly exited the except block. This�[0m
�[0;31m            # ensures we do proper cleanup in finally.�[0m
�[0;31m            clean_exit = False�[0m
�[0;31m  �[0m
�[0;31m            # Rewind body position, if needed. Record current position�[0m
�[0;31m            # for future rewinds in the event of a redirect/retry.�[0m
�[0;31m            body_pos = set_file_position(body, body_pos)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                # Request a connection from the queue.�[0m
�[0;31m                timeout_obj = self._get_timeout(timeout)�[0m
�[0;31m                conn = self._get_conn(timeout=pool_timeout)�[0m
�[0;31m  �[0m
�[0;31m                conn.timeout = timeout_obj.connect_timeout  # type: ignore[assignment]�[0m
�[0;31m  �[0m
�[0;31m                # Is this a closed/new connection that requires CONNECT tunnelling?�[0m
�[0;31m                if self.proxy is not None and http_tunnel_required and conn.is_closed:�[0m
�[0;31m                    try:�[0m
�[0;31m                        self._prepare_proxy(conn)�[0m
�[0;31m                    except (BaseSSLError, OSError, SocketTimeout) as e:�[0m
�[0;31m                        self._raise_timeout(�[0m
�[0;31m                            err=e, url=self.proxy.url, timeout_value=conn.timeout�[0m
�[0;31m                        )�[0m
�[0;31m                        raise�[0m
�[0;31m  �[0m
�[0;31m                # If we're going to release the connection in ``finally:``, then�[0m
�[0;31m                # the response doesn't need to know about the connection. Otherwise�[0m
�[0;31m                # it will also try to release it and we'll have a double-release�[0m
�[0;31m                # mess.�[0m
�[0;31m                response_conn = conn if not release_conn else None�[0m
�[0;31m  �[0m
�[0;31m                # Make the request on the HTTPConnection object�[0m
�[0;31m    >           response = self._make_request(�[0m
�[0;31m                    conn,�[0m
�[0;31m                    method,�[0m
�[0;31m                    url,�[0m
�[0;31m                    timeout=timeout_obj,�[0m
�[0;31m                    body=body,�[0m
�[0;31m                    headers=headers,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                    retries=retries,�[0m
�[0;31m                    response_conn=response_conn,�[0m
�[0;31m                    preload_content=preload_content,�[0m
�[0;31m                    decode_content=decode_content,�[0m
�[0;31m                    **response_kw,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:791:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:492: in _make_request�[0m
�[0;31m        raise new_e�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:468: in _make_request�[0m
�[0;31m        self._validate_conn(conn)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:1097: in _validate_conn�[0m
�[0;31m        conn.connect()�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:611: in connect�[0m
�[0;31m        self.sock = sock = self._new_conn()�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>�[0m
�[0;31m  �[0m
�[0;31m        def _new_conn(self) -> socket.socket:�[0m
�[0;31m            """Establish a socket connection and set nodelay settings on it.�[0m
�[0;31m  �[0m
�[0;31m            :return: New socket connection.�[0m
�[0;31m            """�[0m
�[0;31m            try:�[0m
�[0;31m                sock = connection.create_connection(�[0m
�[0;31m                    (self._dns_host, self.port),�[0m
�[0;31m                    self.timeout,�[0m
�[0;31m                    source_address=self.source_address,�[0m
�[0;31m                    socket_options=self.socket_options,�[0m
�[0;31m                )�[0m
�[0;31m            except socket.gaierror as e:�[0m
�[0;31m                raise NameResolutionError(self.host, self, e) from e�[0m
�[0;31m            except SocketTimeout as e:�[0m
�[0;31m                raise ConnectTimeoutError(�[0m
�[0;31m                    self,�[0m
�[0;31m                    f"Connection to {self.host} timed out. (connect timeout={self.timeout})",�[0m
�[0;31m                ) from e�[0m
�[0;31m  �[0m
�[0;31m            except OSError as e:�[0m
�[0;31m    >           raise NewConnectionError(�[0m
�[0;31m                    self, f"Failed to establish a new connection: {e}"�[0m
�[0;31m                ) from e�[0m
�[0;31m    E           urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>: Failed to establish a new connection: [Errno 111] Connection refused�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connection.py:218: NewConnectionError�[0m
�[0;31m  �[0m
�[0;31m    The above exception was the direct cause of the following exception:�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d739892d0>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m    >           resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:486:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/connectionpool.py:845: in urlopen�[0m
�[0;31m        retries = retries.increment(�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = Retry(total=0, connect=None, read=False, redirect=None, status=None)�[0m
�[0;31m    method = 'POST', url = '/security/user/authenticate', response = None�[0m
�[0;31m    error = NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>: Failed to establish a new connection: [Errno 111] Connection refused')�[0m
�[0;31m    _pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f4d7398b070>�[0m
�[0;31m    _stacktrace = <traceback object at 0x7f4d735d4900>�[0m
�[0;31m  �[0m
�[0;31m        def increment(�[0m
�[0;31m            self,�[0m
�[0;31m            method: str | None = None,�[0m
�[0;31m            url: str | None = None,�[0m
�[0;31m            response: BaseHTTPResponse | None = None,�[0m
�[0;31m            error: Exception | None = None,�[0m
�[0;31m            _pool: ConnectionPool | None = None,�[0m
�[0;31m            _stacktrace: TracebackType | None = None,�[0m
�[0;31m        ) -> Retry:�[0m
�[0;31m            """Return a new Retry object with incremented retry counters.�[0m
�[0;31m  �[0m
�[0;31m            :param response: A response object, or None, if the server did not�[0m
�[0;31m                return a response.�[0m
�[0;31m            :type response: :class:`~urllib3.response.BaseHTTPResponse`�[0m
�[0;31m            :param Exception error: An error encountered during the request, or�[0m
�[0;31m                None if the response was received successfully.�[0m
�[0;31m  �[0m
�[0;31m            :return: A new ``Retry`` object.�[0m
�[0;31m            """�[0m
�[0;31m            if self.total is False and error:�[0m
�[0;31m                # Disabled, indicate to re-raise the error.�[0m
�[0;31m                raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m  �[0m
�[0;31m            total = self.total�[0m
�[0;31m            if total is not None:�[0m
�[0;31m                total -= 1�[0m
�[0;31m  �[0m
�[0;31m            connect = self.connect�[0m
�[0;31m            read = self.read�[0m
�[0;31m            redirect = self.redirect�[0m
�[0;31m            status_count = self.status�[0m
�[0;31m            other = self.other�[0m
�[0;31m            cause = "unknown"�[0m
�[0;31m            status = None�[0m
�[0;31m            redirect_location = None�[0m
�[0;31m  �[0m
�[0;31m            if error and self._is_connection_error(error):�[0m
�[0;31m                # Connect retry?�[0m
�[0;31m                if connect is False:�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif connect is not None:�[0m
�[0;31m                    connect -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error and self._is_read_error(error):�[0m
�[0;31m                # Read retry?�[0m
�[0;31m                if read is False or method is None or not self._is_method_retryable(method):�[0m
�[0;31m                    raise reraise(type(error), error, _stacktrace)�[0m
�[0;31m                elif read is not None:�[0m
�[0;31m                    read -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif error:�[0m
�[0;31m                # Other retry?�[0m
�[0;31m                if other is not None:�[0m
�[0;31m                    other -= 1�[0m
�[0;31m  �[0m
�[0;31m            elif response and response.get_redirect_location():�[0m
�[0;31m                # Redirect retry?�[0m
�[0;31m                if redirect is not None:�[0m
�[0;31m                    redirect -= 1�[0m
�[0;31m                cause = "too many redirects"�[0m
�[0;31m                response_redirect_location = response.get_redirect_location()�[0m
�[0;31m                if response_redirect_location:�[0m
�[0;31m                    redirect_location = response_redirect_location�[0m
�[0;31m                status = response.status�[0m
�[0;31m  �[0m
�[0;31m            else:�[0m
�[0;31m                # Incrementing because of a server error like a 500 in�[0m
�[0;31m                # status_forcelist and the given method is in the allowed_methods�[0m
�[0;31m                cause = ResponseError.GENERIC_ERROR�[0m
�[0;31m                if response and response.status:�[0m
�[0;31m                    if status_count is not None:�[0m
�[0;31m                        status_count -= 1�[0m
�[0;31m                    cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)�[0m
�[0;31m                    status = response.status�[0m
�[0;31m  �[0m
�[0;31m            history = self.history + (�[0m
�[0;31m                RequestHistory(method, url, error, status, redirect_location),�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            new_retry = self.new(�[0m
�[0;31m                total=total,�[0m
�[0;31m                connect=connect,�[0m
�[0;31m                read=read,�[0m
�[0;31m                redirect=redirect,�[0m
�[0;31m                status=status_count,�[0m
�[0;31m                other=other,�[0m
�[0;31m                history=history,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            if new_retry.is_exhausted():�[0m
�[0;31m                reason = error or ResponseError(cause)�[0m
�[0;31m    >           raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]�[0m
�[0;31m    E           urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/urllib3/util/retry.py:515: MaxRetryError�[0m
�[0;31m  �[0m
�[0;31m    During handling of the above exception, another exception occurred:�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_indexes(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           wazuh_api = WazuhAPI(indexer_params, component='indexer')�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:146:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:171: in __init__�[0m
�[0;31m        self._authenticate()�[0m
�[0;31m    modules/testing/tests/helpers/executor.py:194: in _authenticate�[0m
�[0;31m        token = json.loads(requests.post(login_url, headers=login_headers, verify=False).content.decode())['data']['token']�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:115: in post�[0m
�[0;31m        return request("post", url, data=data, json=json, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/api.py:59: in request�[0m
�[0;31m        return session.request(method=method, url=url, **kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:589: in request�[0m
�[0;31m        resp = self.send(prep, **send_kwargs)�[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/sessions.py:703: in send�[0m
�[0;31m        r = adapter.send(request, **kwargs)�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    self = <requests.adapters.HTTPAdapter object at 0x7f4d739892d0>�[0m
�[0;31m    request = <PreparedRequest [POST]>, stream = False�[0m
�[0;31m    timeout = Timeout(connect=None, read=None, total=None), verify = False�[0m
�[0;31m    cert = None, proxies = OrderedDict()�[0m
�[0;31m  �[0m
�[0;31m        def send(�[0m
�[0;31m            self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None�[0m
�[0;31m        ):�[0m
�[0;31m            """Sends PreparedRequest object. Returns Response object.�[0m
�[0;31m  �[0m
�[0;31m            :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.�[0m
�[0;31m            :param stream: (optional) Whether to stream the request content.�[0m
�[0;31m            :param timeout: (optional) How long to wait for the server to send�[0m
�[0;31m                data before giving up, as a float, or a :ref:`(connect timeout,�[0m
�[0;31m                read timeout) <timeouts>` tuple.�[0m
�[0;31m            :type timeout: float or tuple or urllib3 Timeout object�[0m
�[0;31m            :param verify: (optional) Either a boolean, in which case it controls whether�[0m
�[0;31m                we verify the server's TLS certificate, or a string, in which case it�[0m
�[0;31m                must be a path to a CA bundle to use�[0m
�[0;31m            :param cert: (optional) Any user-provided SSL certificate to be trusted.�[0m
�[0;31m            :param proxies: (optional) The proxies dictionary to apply to the request.�[0m
�[0;31m            :rtype: requests.Response�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                conn = self.get_connection(request.url, proxies)�[0m
�[0;31m            except LocationValueError as e:�[0m
�[0;31m                raise InvalidURL(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m            self.cert_verify(conn, request.url, verify, cert)�[0m
�[0;31m            url = self.request_url(request, proxies)�[0m
�[0;31m            self.add_headers(�[0m
�[0;31m                request,�[0m
�[0;31m                stream=stream,�[0m
�[0;31m                timeout=timeout,�[0m
�[0;31m                verify=verify,�[0m
�[0;31m                cert=cert,�[0m
�[0;31m                proxies=proxies,�[0m
�[0;31m            )�[0m
�[0;31m  �[0m
�[0;31m            chunked = not (request.body is None or "Content-Length" in request.headers)�[0m
�[0;31m  �[0m
�[0;31m            if isinstance(timeout, tuple):�[0m
�[0;31m                try:�[0m
�[0;31m                    connect, read = timeout�[0m
�[0;31m                    timeout = TimeoutSauce(connect=connect, read=read)�[0m
�[0;31m                except ValueError:�[0m
�[0;31m                    raise ValueError(�[0m
�[0;31m                        f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "�[0m
�[0;31m                        f"or a single float to set both timeouts to the same value."�[0m
�[0;31m                    )�[0m
�[0;31m            elif isinstance(timeout, TimeoutSauce):�[0m
�[0;31m                pass�[0m
�[0;31m            else:�[0m
�[0;31m                timeout = TimeoutSauce(connect=timeout, read=timeout)�[0m
�[0;31m  �[0m
�[0;31m            try:�[0m
�[0;31m                resp = conn.urlopen(�[0m
�[0;31m                    method=request.method,�[0m
�[0;31m                    url=url,�[0m
�[0;31m                    body=request.body,�[0m
�[0;31m                    headers=request.headers,�[0m
�[0;31m                    redirect=False,�[0m
�[0;31m                    assert_same_host=False,�[0m
�[0;31m                    preload_content=False,�[0m
�[0;31m                    decode_content=False,�[0m
�[0;31m                    retries=self.max_retries,�[0m
�[0;31m                    timeout=timeout,�[0m
�[0;31m                    chunked=chunked,�[0m
�[0;31m                )�[0m
�[0;31m  �[0m
�[0;31m            except (ProtocolError, OSError) as err:�[0m
�[0;31m                raise ConnectionError(err, request=request)�[0m
�[0;31m  �[0m
�[0;31m            except MaxRetryError as e:�[0m
�[0;31m                if isinstance(e.reason, ConnectTimeoutError):�[0m
�[0;31m                    # TODO: Remove this in 3.0.0: see #2811�[0m
�[0;31m                    if not isinstance(e.reason, NewConnectionError):�[0m
�[0;31m                        raise ConnectTimeout(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, ResponseError):�[0m
�[0;31m                    raise RetryError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _ProxyError):�[0m
�[0;31m                    raise ProxyError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m                if isinstance(e.reason, _SSLError):�[0m
�[0;31m                    # This branch is for urllib3 v1.22 and later.�[0m
�[0;31m                    raise SSLError(e, request=request)�[0m
�[0;31m  �[0m
�[0;31m    >           raise ConnectionError(e, request=request)�[0m
�[0;31m    E           requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ec2-54-173-210-30.compute-1.amazonaws.com', port=55000): Max retries exceeded with url: /security/user/authenticate (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4d7398a170>: Failed to establish a new connection: [Errno 111] Connection refused'))�[0m
�[0;31m  �[0m
�[0;31m    ../../venvs/5191-test/lib/python3.10/site-packages/requests/adapters.py:519: ConnectionError�[0m
�[0;31m    __________________________ test_indexer_internalUsers __________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_internalUsers(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           assert WazuhIndexer.are_indexer_internal_users_complete(indexer_params), logger.error(f'There is a problem in a Wazuh indexer internal user in {HostInformation.get_os_name_and_version_from_inventory(indexer_params)}')�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:152:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    inventory_path = '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'�[0m
�[0;31m  �[0m
�[0;31m        @staticmethod�[0m
�[0;31m        def are_indexer_internal_users_complete(inventory_path) -> bool:�[0m
�[0;31m            """�[0m
�[0;31m            Returns True/False depending on the existance of all the expected internal users�[0m
�[0;31m  �[0m
�[0;31m            Args:�[0m
�[0;31m                inventory_path (str): host's inventory path�[0m
�[0;31m  �[0m
�[0;31m            Returns:�[0m
�[0;31m            - bool: True/False depending on the status.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m            users_to_check = [�[0m
�[0;31m                'admin',�[0m
�[0;31m                'kibanaserver',�[0m
�[0;31m                'kibanaro',�[0m
�[0;31m                'logstash',�[0m
�[0;31m                'readall',�[0m
�[0;31m                'snapshotrestore'�[0m
�[0;31m            ]�[0m
�[0;31m            report_of_users = ConnectionManager.execute_commands(inventory_path, "cat /etc/wazuh-indexer/opensearch-security/internal_users.yml | grep '^[a-z]'").get('output')�[0m
�[0;31m            for user in users_to_check:�[0m
�[0;31m    >           if user not in report_of_users:�[0m
�[0;31m    E           TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/helpers/indexer.py:49: TypeError�[0m
�[0;31m    _____________________________ test_indexer_version _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_version(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           assert wazuh_params['wazuh_version'] == WazuhIndexer.get_indexer_version(indexer_params), logger.error(f'There is dismatch in Wazuh indexer version in {HostInformation.get_os_name_and_version_from_inventory(indexer_params)}')�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:157:�[0m
�[0;31m    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _�[0m
�[0;31m  �[0m
�[0;31m    inventory_path = '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'�[0m
�[0;31m  �[0m
�[0;31m        @staticmethod�[0m
�[0;31m        def get_indexer_version(inventory_path) -> str:�[0m
�[0;31m            """�[0m
�[0;31m            Returns the Wazuh indexer version�[0m
�[0;31m  �[0m
�[0;31m            Args:�[0m
�[0;31m                inventory_path (str): host's inventory path�[0m
�[0;31m  �[0m
�[0;31m            Returns:�[0m
�[0;31m            - str: Version of the Wazuh indexer.�[0m
�[0;31m            """�[0m
�[0;31m  �[0m
�[0;31m    >       return ConnectionManager.execute_commands(inventory_path,'cat /usr/share/wazuh-indexer/VERSION').get('output').strip()�[0m
�[0;31m    E       AttributeError: 'NoneType' object has no attribute 'strip'�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/helpers/indexer.py:24: AttributeError�[0m
�[0;31m    ______________________________ test_indexer_port _______________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_port(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           assert WazuhIndexer.is_indexer_port_open(indexer_params), logger.error(f"Some Wazuh indexer port in {HostInformation.get_os_name_and_version_from_inventory(indexer_params)} is closed")�[0m
�[0;31m    E           AssertionError: None�[0m
�[0;31m    E           assert False�[0m
�[0;31m    E            +  where False = <function WazuhIndexer.is_indexer_port_open at 0x7f4d7967d630>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E            +    where <function WazuhIndexer.is_indexer_port_open at 0x7f4d7967d630> = WazuhIndexer.is_indexer_port_open�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:162: AssertionError�[0m
�[0;31m    _____________________________ test_filebeat_status _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_filebeat_status(wazuh_params):�[0m
�[0;31m    >       assert 'active' in GeneralComponentActions.get_component_status(wazuh_params['master'], 'filebeat'), logger.error(f"The Filebeat in {HostInformation.get_os_name_and_version_from_inventory(wazuh_params['master'])} is not active")�[0m
�[0;31m    E       TypeError: argument of type 'NoneType' is not iterable�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:166: TypeError�[0m
�[0;31m    ____________________________ test_indexer_conexion _____________________________�[0m
�[0;31m  �[0m
�[0;31m    wazuh_params = {'dashboard': '/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml', 'dependencies': '{}', 'indexers': ['/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml'], 'live': 'False', ...}�[0m
�[0;31m  �[0m
�[0;31m        def test_indexer_conexion(wazuh_params):�[0m
�[0;31m            for indexer_params in wazuh_params['indexers']:�[0m
�[0;31m    >           assert WazuhManager.get_indexer_status(indexer_params), logger.error(f'IndexerConnector initialization failed {HostInformation.get_os_name_and_version_from_inventory(indexer_params)}')�[0m
�[0;31m    E           AssertionError: None�[0m
�[0;31m    E           assert False�[0m
�[0;31m    E            +  where False = <function WazuhManager.get_indexer_status at 0x7f4d7967d090>('/tmp/dtt1-poc/central_components-linux-ubuntu-20.04-amd64/inventory.yaml')�[0m
�[0;31m    E            +    where <function WazuhManager.get_indexer_status at 0x7f4d7967d090> = WazuhManager.get_indexer_status�[0m
�[0;31m  �[0m
�[0;31m    modules/testing/tests/test_central_components/test_install.py:171: AssertionError�[0m
�[0;31m    =============================== warnings summary ===============================�[0m
�[0;31m    modules/provision/models.py:36�[0m
�[0;31m      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:36: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/�[0m
�[0;31m        @validator('dependencies', pre=True)�[0m
�[0;31m  �[0m
�[0;31m    modules/provision/models.py:64�[0m
�[0;31m      /home/akim/Desktop/wazuh-qa/deployability/modules/provision/models.py:64: PydanticDeprecatedSince20: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.5/migration/�[0m
�[0;31m        @validator('install', 'uninstall', pre=True)�[0m
�[0;31m  �[0m
�[0;31m    -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html�[0m
�[0;31m    =========================== short test summary info ============================�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_installation�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_status�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_version�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_revision�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_installed_directory�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_api_port�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_agent_port�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_manager_agent_enrollment_port�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_dashboard_status�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_dashboard_version�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_dashboard_nodes�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_dashboard_keystore�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_dashboard_port�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_status�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_clusters_status�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_indexes�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_internalUsers�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_version�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_port�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_filebeat_status�[0m
�[0;31m    FAILED modules/testing/tests/test_central_components/test_install.py::test_indexer_conexion�[0m
�[0;31m    ================= 21 failed, 2 warnings in 3292.56s (0:54:52) ==================�[0m
�[0;31m  stdout_lines: <omitted>�[0m

[2024-06-18 13:21:06,198] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-ubuntu-22.04-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,204] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-amazon-2-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,220] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-redhat-7-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,220] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-redhat-8-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,221] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-redhat-9-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,221] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-centos-7-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,222] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-centos-8-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,222] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-debian-10-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,223] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-debian-11-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,223] [WARNING] [139448] [ThreadPoolExecutor-0_0] [jobflow]: [run-central_components-linux-debian-12-amd64-tests] Skipping task due to dependency failure.
[2024-06-18 13:21:06,227] [INFO] [139448] [MainThread] [jobflow]: Executing Reverse DAG tasks.
[2024-06-18 13:21:06,228] [INFO] [139448] [MainThread] [jobflow]: Executing tasks in parallel.
  • Error related to Wazuh installation assistant, last version is 4.7.5, error expected

@pro-akim
Copy link
Member

pro-akim commented Jun 18, 2024

Update

After considering some fixes in the yaml:

  • Windows must be large for AWS
  • macOS server has been cleaned
  • Using 4.8.0 Live = False
    Now I can see the following error:

18/06/2024 15:32:36 INFO: --- Wazuh server ---
18/06/2024 15:32:36 INFO: Starting the Wazuh manager installation.
18/06/2024 15:33:20 INFO: Wazuh manager installation finished.
18/06/2024 15:33:20 INFO: Wazuh manager vulnerability detection configuration finished.
18/06/2024 15:33:20 INFO: Starting service wazuh-manager.
18/06/2024 15:33:32 INFO: wazuh-manager service started.
18/06/2024 15:33:32 INFO: Starting Filebeat installation.
18/06/2024 15:33:42 INFO: Filebeat installation finished.
curl: (22) The requested URL returned error: 404
18/06/2024 15:33:42 ERROR: Error downloading wazuh-template.json file.
18/06/2024 15:33:42 INFO: --- Removing existing Wazuh installation ---
18/06/2024 15:33:42 INFO: Removing Wazuh manager.
  • Error related to Wazuh installation assistant and repository used, expected

After changes 🔴

Wazuh Manager has been correctly installed
Windows EC2 have been allocated, however the instances have been deleted due to lack of connection

Windows error.log


Running test only with Windows EC2s and Ubuntu Server 🔴

jobflow.log

@fcaffieri
Copy link
Member

fcaffieri commented Jun 18, 2024

Update status

The reported errors are due to the following:

  • The live False parameter should not be used, because the installation wizard is not stable and generates the error that it cannot download wazuh-template.yaml, since the branch where it is going to look for it does not exist, execution example manual where the problem is reproduced:
root@stack-ubuntu2204-2:/home/vagrant# curl -sO https://packages-dev.wazuh.com/4.8/wazuh-install.sh
root@stack-ubuntu2204-2:/home/vagrant# bash ./wazuh-install.sh -a -i -o
06/18/2024 20:25:07 INFO: Starting Wazuh installation assistant. Wazuh version: 4.8.0
06/18/2024 20:25:07 INFO: Verbose logging redirected to /var/log/wazuh-install.log
06/18/2024 20:25:09 INFO: --- Removing existing Wazuh installation ---
06/18/2024 20:25:09 INFO: Wazuh GPG key not found in the system
06/18/2024 20:25:09 INFO: Installation cleaned.
06/18/2024 20:25:09 WARNING: Hardware and system checks ignored.
06/18/2024 20:25:21 INFO: Wazuh web interface port will be 443.
06/18/2024 20:25:32 INFO: Wazuh development repository added.
06/18/2024 20:25:32 INFO: --- Configuration files ---
06/18/2024 20:25:32 INFO: Generating configuration files.
06/18/2024 20:25:32 INFO: Generating the root certificate.
06/18/2024 20:25:33 INFO: Generating Admin certificates.
06/18/2024 20:25:33 INFO: Generating Wazuh indexer certificates.
06/18/2024 20:25:33 INFO: Generating Filebeat certificates.
06/18/2024 20:25:34 INFO: Generating Wazuh dashboard certificates.
06/18/2024 20:25:35 INFO: Created wazuh-install-files.tar. It contains the Wazuh cluster key, certificates, and passwords necessary for installation.
06/18/2024 20:25:35 INFO: --- Wazuh indexer ---
06/18/2024 20:25:35 INFO: Starting Wazuh indexer installation.
06/18/2024 20:27:15 INFO: Wazuh indexer installation finished.
06/18/2024 20:27:15 INFO: Wazuh indexer post-install configuration finished.
06/18/2024 20:27:15 INFO: Starting service wazuh-indexer.
06/18/2024 20:27:41 INFO: wazuh-indexer service started.
06/18/2024 20:27:41 INFO: Initializing Wazuh indexer cluster security settings.
06/18/2024 20:28:05 INFO: Wazuh indexer cluster security configuration initialized.
06/18/2024 20:28:05 INFO: Wazuh indexer cluster initialized.
06/18/2024 20:28:05 INFO: --- Wazuh server ---
06/18/2024 20:28:05 INFO: Starting the Wazuh manager installation.
06/18/2024 20:29:15 INFO: Wazuh manager installation finished.
06/18/2024 20:29:16 INFO: Wazuh manager vulnerability detection configuration finished.
06/18/2024 20:29:16 INFO: Starting service wazuh-manager.
06/18/2024 20:29:36 INFO: wazuh-manager service started.
06/18/2024 20:29:36 INFO: Starting Filebeat installation.
06/18/2024 20:29:44 INFO: Filebeat installation finished.
curl: (22) The requested URL returned error: 404
06/18/2024 20:29:44 ERROR: Error downloading wazuh-template.json file.
06/18/2024 20:29:44 INFO: --- Removing existing Wazuh installation ---
06/18/2024 20:29:44 INFO: Removing Wazuh manager.
06/18/2024 20:29:55 INFO: Wazuh manager removed.
06/18/2024 20:29:55 INFO: Removing Wazuh indexer.
06/18/2024 20:29:58 INFO: Wazuh indexer removed.
06/18/2024 20:29:58 INFO: Removing Filebeat.
06/18/2024 20:29:59 INFO: Filebeat removed.
06/18/2024 20:30:00 INFO: Installation cleaned.
root@stack-ubuntu2204-2:/home/vagrant#

  • The installation wizard only allows you to install the latest released version, in the examples the version 4.7.4 was passed by parameter, and the latest 4.7 is 4.7.5, so when installed with the wizard only the minor packages are used. packages-wazuh.com/4.7/wazuh-install.sh and this wizard is for version 4.7.5, so when validating the installed versions versus the one sent by parameter they do not match and the test fails.

These were the errors reported, which are due to incorrect execution of the tests, since what is going to be tested with these tests are unreleased packages, in this case if the parameter live = False is used and for the released packages live = True and the latest released version must be used.

@fcaffieri
Copy link
Member

fcaffieri commented Jun 19, 2024

Test

Agent testing

Input yaml:
version: 0.1
description: This workflow is used to test agents deployment for DDT1 PoC
variables:
  agent-os:
    - linux-redhat-7-amd64
    - linux-redhat-7-arm64
    - linux-redhat-8-amd64
    - linux-redhat-8-arm64
    - linux-redhat-9-amd64
    - linux-redhat-9-arm64
    - linux-centos-7-amd64
    - linux-centos-7-arm64
    - linux-centos-8-amd64
    - linux-centos-8-arm64
    - linux-debian-10-amd64
    - linux-debian-10-arm64
    - linux-debian-11-amd64
    - linux-debian-11-arm64
    - linux-debian-12-amd64
    - linux-debian-12-arm64
    - linux-ubuntu-22.04-amd64
    - linux-ubuntu-22.04-arm64
    - linux-ubuntu-18.04-amd64
    - linux-ubuntu-18.04-arm64
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-20.04-arm64
    - linux-oracle-9-amd64
    - linux-amazon-2-amd64
    - linux-amazon-2-arm64
    - linux-amazon-2023-amd64
    - linux-amazon-2023-arm64

  windows-agent-os:
    - windows-desktop-10-amd64
    - windows-server-2012r2-amd64
    - windows-server-2016-amd64
    - windows-server-2019-amd64
    - windows-server-2022-amd64

  macos-agent-os:
    - macos-ventura-13-amd64
    - macos-sonoma-14-amd64

  manager-os: linux-ubuntu-22.04-amd64
  infra-provider: aws
  macos-infra-provider: vagrant
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager-os}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager-os}"
          - inventory-output: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"

  # Unique manager provision task
  - task: "provision-manager-{manager-os}"
    description: "Provision the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - install:
            - component: wazuh-manager
              type: assistant
              version: 4.8.0
              live: True
    depends-on:
      - "allocate-manager-{manager-os}"
    on-error: "abort-all"


  # Unique agent allocate task
  - task: "allocate-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40811"
          - live: True
    foreach:
      - variable: agent-os
        as: agent
    depends-on:
      - "allocate-agent-{agent}"
      - "provision-manager-{manager-os}"



  # Unique agent allocate task
  - task: "allocate-macos-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{macos-infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: macos-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-macos-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40811"
          - live: True
    foreach:
      - variable: macos-agent-os
        as: agent
    depends-on:
      - "allocate-macos-agent-{agent}"
      - "provision-manager-{manager-os}"


  # Unique agent allocate task
  - task: "allocate-windows-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/5191"
    on-error: "abort-all"
    foreach:
      - variable: windows-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-windows-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40811"
          - live: True
    foreach:
      - variable: windows-agent-os
        as: agent
    depends-on:
      - "allocate-windows-agent-{agent}"
      - "provision-manager-{manager-os}"

Full Log:

Test-agents-complete.log

Summary Result:

Agent Test result
linux-redhat-7-amd64 🟢
linux-redhat-7-arm64 🟢
linux-redhat-8-amd64 🟢
linux-redhat-8-arm64 🟢
linux-redhat-9-amd64 🟢
linux-redhat-9-arm64 🟢
linux-centos-7-amd64 🟢
linux-centos-7-arm64 🟢
linux-centos-8-amd64 🟢
linux-centos-8-arm64 🟢
linux-debian-10-amd64 🟢
linux-debian-10-arm64 🟢
linux-debian-11-amd64 🟢
linux-debian-11-arm64 🟢
linux-debian-12-amd64 🟢
linux-debian-12-arm64 🟢
linux-ubuntu-22.04-amd64 🟢
linux-ubuntu-22.04-arm64 🟢
linux-ubuntu-18.04-amd64 🟢
linux-ubuntu-18.04-arm64 🟢
linux-ubuntu-20.04-amd64 🟢
linux-ubuntu-20.04-arm64 🟢
linux-oracle-9-amd64 🟢
linux-amazon-2-amd64 🟢
linux-amazon-2-arm64 🟢
linux-amazon-2023-amd64 🟢
linux-amazon-2023-arm64 🟢
windows-server-2012r2-amd64 🔴
windows-server-2016-amd64 🔴
windows-server-2019-amd64 🔴
macos-ventura-13-amd64 🔴
macos-sonoma-14-amd64 🔴

Status Windows test

The Windows tests failed because the test module could not connect to the VMs and the allocator could not raise them correctly. The DevOps team was contacted to validate why it could not raise the VMS, but the tests worked right.


Manager testing:

Input yaml:
version: 0.1
description: This workflow is used to test manager deployment for DDT1 PoC
variables:
  manager-os:
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-22.04-amd64
    - linux-amazon-2-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-debian-12-amd64
  infra-provider: aws
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager}"
          - inventory-output: "{working-dir}/manager-{manager}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
    on-error: "abort-all"
    foreach:
      - variable: manager-os
        as: manager
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager}/track.yaml"

  # Generic manager test task
  - task: "run-manager-tests"
    description: "Run tests install for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-linux-centos-7-amd64/inventory.yaml"
            - wazuh-2: "{working-dir}/manager-linux-ubuntu-20.04-amd64/inventory.yaml"
            - wazuh-3: "{working-dir}/manager-linux-ubuntu-22.04-amd64/inventory.yaml"
            - wazuh-4: "{working-dir}/manager-linux-redhat-7-amd64/inventory.yaml"
            - wazuh-5: "{working-dir}/manager-linux-redhat-8-amd64/inventory.yaml"
            - wazuh-6: "{working-dir}/manager-linux-redhat-9-amd64/inventory.yaml"
            - wazuh-7: "{working-dir}/manager-linux-centos-8-amd64/inventory.yaml"
            - wazuh-8: "{working-dir}/manager-linux-debian-10-amd64/inventory.yaml"
            - wazuh-9: "{working-dir}/manager-linux-debian-11-amd64/inventory.yaml"
            - wazuh-10: "{working-dir}/manager-linux-debian-12-amd64/inventory.yaml"
            - wazuh-11: "{working-dir}/manager-linux-amazon-2-amd64/inventory.yaml"
          - tests: "install,restart,stop,uninstall"
          - component: "manager"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40812"
          - live: True
    depends-on:
      - "allocate-manager-linux-ubuntu-20.04-amd64"
      - "allocate-manager-linux-ubuntu-22.04-amd64"
      - "allocate-manager-linux-amazon-2-amd64"
      - "allocate-manager-linux-redhat-7-amd64"
      - "allocate-manager-linux-redhat-8-amd64"
      - "allocate-manager-linux-redhat-9-amd64"
      - "allocate-manager-linux-centos-7-amd64"
      - "allocate-manager-linux-centos-8-amd64"
      - "allocate-manager-linux-debian-10-amd64"
      - "allocate-manager-linux-debian-11-amd64"
      - "allocate-manager-linux-debian-12-amd64"




Full Log:

Test-manager-complete.log

Summary Result:

Agent Test result
linux-ubuntu-20.04-amd6 🟢
linux-ubuntu-22.04-amd6 🟢
linux-redhat-7-amd64 🟢
linux-redhat-8-amd64 🟢
linux-redhat-9-amd64 🟢
linux-amazon-2-amd64 🟢
linux-centos-8-amd64 🟢
linux-centos-7-amd64 🟢
linux-debian-10-amd64 🟢
linux-debian-11-amd64 🟢
linux-debian-12-amd64 🟢

Central components testing:

Test summary:

Agent Test result
linux-ubuntu-20.04-amd64 🟢
linux-ubuntu-22.04-amd64 🟢
linux-amazon-2-amd64 🟢
linux-redhat-7-amd64 🟢
linux-redhat-8-amd64 🟢
linux-redhat-9-amd64 🟢
linux-centos-7-amd64 🟢
linux-centos-8-amd64 🟢
linux-debian-10-amd64 🟢
linux-debian-11-amd64 🟢
linux-debian-12-amd64 🟢
Input yaml:
version: 0.1
description: This workflow is used to test the Wazuh manager deployment for DDT1 PoC
variables:
  central_components-os:
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-22.04-amd64
    - linux-amazon-2-amd64
    - linux-redhat-7-amd64
    - linux-redhat-8-amd64
    - linux-redhat-9-amd64
    - linux-centos-7-amd64
    - linux-centos-8-amd64
    - linux-debian-10-amd64
    - linux-debian-11-amd64
    - linux-debian-12-amd64
  infra-provider: aws
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique central components allocate task
  - task: "allocate-central_components-{central_components}"
    description: "Allocate resources for the central_components."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{central_components}"
          - inventory-output: "{working-dir}/central_components-{central_components}/inventory.yaml"
          - track-output: "{working-dir}/central_components-{central_components}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
    on-error: "abort-all"
    foreach:
      - variable: central_components-os
        as: central_components
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/central_components-{central_components-os}/track.yaml"

  # Generic manager test task
  - task: "run-central_components-{central_components}-tests"
    description: "Run tests install for the central_components."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/central_components-{central_components}/inventory.yaml"
          - tests: "install,restart,stop,uninstall"
          - component: "central_components"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40812"
          - live: True
    on-error: "abort-all"
    foreach:
      - variable: central_components-os
        as: central_components

Full Log:

Test-CC-complete.log

@pro-akim
Copy link
Member

pro-akim commented Jun 19, 2024

Update

Asking to DevOps team about Windows EC2's issue

After a brief conversation with David Correa, it was decided to open an issue for analysis


By changing pywinrm from 0.4.0 to 0.4.3 (LTS), it worked

@pro-akim
Copy link
Member

pro-akim commented Jun 19, 2024

Test

Agent testing

Command:

python3 -m jobflow modules/jobflow/examples/agent/aws/test-agent-complete.yaml --threads=4
Input yaml:
version: 0.1
description: This workflow is used to test agents deployment for DDT1 PoC
variables:
  agent-os:
    - linux-redhat-7-amd64
    - linux-redhat-7-arm64
    - linux-redhat-8-amd64
    - linux-redhat-8-arm64
    - linux-redhat-9-amd64
    - linux-redhat-9-arm64
    - linux-centos-7-amd64
    - linux-centos-7-arm64
    - linux-centos-8-amd64
    - linux-centos-8-arm64
    - linux-debian-10-amd64
    - linux-debian-10-arm64
    - linux-debian-11-amd64
    - linux-debian-11-arm64
    - linux-debian-12-amd64
    - linux-debian-12-arm64
    - linux-ubuntu-22.04-amd64
    - linux-ubuntu-22.04-arm64
    - linux-ubuntu-18.04-amd64
    - linux-ubuntu-18.04-arm64
    - linux-ubuntu-20.04-amd64
    - linux-ubuntu-20.04-arm64
    - linux-oracle-9-amd64
    - linux-opensuse-15-amd64
    - linux-amazon-2-amd64
    - linux-amazon-2-arm64
    - linux-amazon-2023-amd64
    - linux-amazon-2023-arm64

  windows-agent-os:
    - windows-desktop-10-amd64
    - windows-server-2012r2-amd64
    - windows-server-2016-amd64
    - windows-server-2019-amd64
    - windows-server-2022-amd64

  macos-agent-os:
    - macos-ventura-13-amd64
    - macos-sonoma-14-amd64

  manager-os: linux-ubuntu-22.04-amd64
  infra-provider: aws
  macos-infra-provider: vagrant
  working-dir: /tmp/dtt1-poc

tasks:
  # Unique manager allocate task
  - task: "allocate-manager-{manager-os}"
    description: "Allocate resources for the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{manager-os}"
          - inventory-output: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/8888"
    on-error: "abort-all"
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/manager-{manager-os}/track.yaml"

  # Unique manager provision task
  - task: "provision-manager-{manager-os}"
    description: "Provision the manager."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/provision/main.py
          - inventory: "{working-dir}/manager-{manager-os}/inventory.yaml"
          - install:
            - component: wazuh-manager
              type: assistant
              version: 4.8.0
              live: True
    depends-on:
      - "allocate-manager-{manager-os}"
    on-error: "abort-all"


  # Unique agent allocate task
  - task: "allocate-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/8888"
    on-error: "abort-all"
    foreach:
      - variable: agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40812"
          - live: True
    foreach:
      - variable: agent-os
        as: agent
    depends-on:
      - "allocate-agent-{agent}"
      - "provision-manager-{manager-os}"



  # Unique agent allocate task
  - task: "allocate-macos-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{macos-infra-provider}"
          - size: small
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/8888"
    on-error: "abort-all"
    foreach:
      - variable: macos-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-macos-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40812"
          - live: True
    foreach:
      - variable: macos-agent-os
        as: agent
    depends-on:
      - "allocate-macos-agent-{agent}"
      - "provision-manager-{manager-os}"


  # Unique agent allocate task
  - task: "allocate-windows-agent-{agent}"
    description: "Allocate resources for the agent."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: create
          - provider: "{infra-provider}"
          - size: large
          - composite-name: "{agent}"
          - inventory-output: "{working-dir}/agent-{agent}/inventory.yaml"
          - track-output: "{working-dir}/agent-{agent}/track.yaml"
          - label-termination-date: "1d"
          - label-team: "qa"
          - label-issue: "https://github.com/wazuh/wazuh-qa/issues/8888"
    on-error: "abort-all"
    foreach:
      - variable: windows-agent-os
        as: agent
    cleanup:
      this: process
      with:
        path: python3
        args:
          - modules/allocation/main.py
          - action: delete
          - track-output: "{working-dir}/agent-{agent}/track.yaml"


  # Generic agent test task
  - task: "run-windows-agent-{agent}-tests"
    description: "Run tests install for the agent {agent}."
    do:
      this: process
      with:
        path: python3
        args:
          - modules/testing/main.py
          - targets:
            - wazuh-1: "{working-dir}/manager-{manager-os}/inventory.yaml"
            - agent: "{working-dir}/agent-{agent}/inventory.yaml"
          - tests: "install,registration,connection,basic_info,restart,stop,uninstall"
          - component: "agent"
          - wazuh-version: "4.8.0"
          - wazuh-revision: "40812"
          - live: True
    foreach:
      - variable: windows-agent-os
        as: agent
    depends-on:
      - "allocate-windows-agent-{agent}"
      - "provision-manager-{manager-os}"


Full Log:

jobflow.log

Summary Result:

Agent Test result
linux-redhat-7-amd64 🟢
linux-redhat-7-arm64 🟢
linux-redhat-8-amd64 🟢
linux-redhat-8-arm64 🟢
linux-redhat-9-amd64 🟢
linux-redhat-9-arm64 🟢
linux-centos-7-amd64 🟢
linux-centos-7-arm64 🟢
linux-centos-8-amd64 🟢
linux-centos-8-arm64 🟢
linux-debian-10-amd64 🟢
linux-debian-10-arm64 🟢
linux-debian-11-amd64 🟢
linux-debian-11-arm64 🟢
linux-debian-12-amd64 🟢
linux-debian-12-arm64 🟢
linux-ubuntu-22.04-amd64 🟢
linux-ubuntu-22.04-arm64 🟢
linux-ubuntu-18.04-amd64 🟢
linux-ubuntu-18.04-arm64 🟢
linux-ubuntu-20.04-amd64 🟢
linux-ubuntu-20.04-arm64 🟢
linux-oracle-9-amd64 🟢
linux-opensuse-15-amd64 🟢
linux-amazon-2-amd64 🟢
linux-amazon-2-arm64 🟢
linux-amazon-2023-amd64 🟢
linux-amazon-2023-arm64 🟢
windows-desktop-10-amd64 🟢
windows-server-2012r2-amd64 🟢
windows-server-2016-amd64 🟢
windows-server-2019-amd64 🟢
windows-server-2022-amd64 🟢
macos-ventura-13-amd64 🟢
macos-sonoma-14-amd64 🟢

@wazuhci wazuhci moved this from In progress to Pending review in Release 4.9.0 Jun 19, 2024
@wazuhci wazuhci moved this from Pending review to In review in Release 4.9.0 Jun 19, 2024
@fcaffieri
Copy link
Member

fcaffieri commented Jun 19, 2024

Execution time

Agents Test

  • Threads 4
Test Allocation Provision Testing
Full agent test (35 agents) 25 min 7min 52 min
  • Threads 14
Test Allocation Provision Testing
Full agent test (35 agents) 20 min 8min 23 min

Manager Test

  • Threads 11
Test Allocation Provision Testing
Full Manager test (11 managers) 4 min - 6 min

Central component Test

  • Threads 11
Test Allocation Provision Testing
Full Central component test (11 systems with central components) 5 min - 20 min

@fcaffieri
Copy link
Member

LGTM

@wazuhci wazuhci moved this from In review to Pending final review in Release 4.9.0 Jun 19, 2024
@rauldpm
Copy link
Member Author

rauldpm commented Jun 19, 2024

LGTM

@rauldpm rauldpm closed this as completed Jun 19, 2024
@wazuhci wazuhci moved this from Pending final review to In final review in Release 4.9.0 Jun 19, 2024
@wazuhci wazuhci moved this from In final review to Done in Release 4.9.0 Jun 19, 2024
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

4 participants