diff --git a/.github/workflows/molecule-role-agent.yaml b/.github/workflows/molecule-role-agent.yaml new file mode 100644 index 000000000..0676679ba --- /dev/null +++ b/.github/workflows/molecule-role-agent.yaml @@ -0,0 +1,66 @@ +# https://github.com/ansible-collections/collection_template/blob/main/.github/workflows/ansible-test.yml +# README FIRST +# 1. replace "NAMESPACE" and "COLLECTION_NAME" with the correct name in the env section (e.g. with 'community' and 'mycollection') +# 2. If you don't have unit tests remove that section +# 3. If your collection depends on other collections ensure they are installed, see "Install collection dependencies" +# If you need help please ask in #ansible-community on the Libera.chat IRC network + +name: Molecule Tests for Agent Role +on: + workflow_dispatch: + pull_request: + branches: + - main + - devel + paths: + - 'roles/agent/**' + push: + branches: + - main + - devel + paths: + - 'roles/agent/**' + +env: + NAMESPACE: tribe29 + COLLECTION_NAME: checkmk + +jobs: + build: + runs-on: ubuntu-20.04 + name: Checkmk ${{ matrix.checkmk }} + py${{ matrix.python }} + strategy: + fail-fast: false + matrix: + python: + - '3.8' + - '3.9' + - '3.10' + - '3.11' + checkmk: + - '2.0.0' + - '2.1.0' + - '2.2.0' + + steps: + - name: Check out code + uses: actions/checkout@v3 + with: + path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} + + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements.txt + working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} + + - name: Test with molecule + run: | + cd roles/agent/ + molecule test -s ${{ matrix.checkmk }} + working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} diff --git a/requirements.txt b/requirements.txt index cbc6c78a7..1a8bf26a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ antsibull-changelog >= 0.16.0 antsibull-docs >= 1.5.0 ansible-lint >= 6.0.0 jinja2 >= 3.0.0 -molecule >= 3.5.0 +molecule >= 4.0.4 molecule-docker >= 1.1.0 +# molecule-plugins[docker] >= 23.0.0 # This will be needed with Molecule 5. yamllint >=1.0.0 \ No newline at end of file diff --git a/roles/agent/molecule/2.0.0/converge.yml b/roles/agent/molecule/2.0.0/converge.yml new file mode 100644 index 000000000..355915cd1 --- /dev/null +++ b/roles/agent/molecule/2.0.0/converge.yml @@ -0,0 +1,37 @@ +--- +- name: Converge + hosts: all + + pre_tasks: + + - name: Update apt cache. + ansible.builtin.apt: + update_cache: true + cache_valid_time: 600 + when: ansible_os_family == 'Debian' + - name: Install prerequisites. + ansible.builtin.apt: + name: "{{ item }}" + state: present + loop: + - apt-utils + - man + when: ansible_os_family == 'Debian' + - name: Create '/usr/share/man/man8/' on Ubuntu. + ansible.builtin.file: + path: /usr/share/man/man8/ + state: directory + mode: "0755" + owner: root + group: root + when: ansible_distribution == 'Ubuntu' + + tasks: + + - name: "Run server role." + ansible.builtin.include_role: + name: server + + - name: "Run agent role." + ansible.builtin.include_role: + name: agent diff --git a/roles/agent/molecule/2.0.0/group_vars/all.yml b/roles/agent/molecule/2.0.0/group_vars/all.yml new file mode 100644 index 000000000..3a6d9cfa1 --- /dev/null +++ b/roles/agent/molecule/2.0.0/group_vars/all.yml @@ -0,0 +1,60 @@ +--- +# General +checkmk_version: "2.0.0p35" +checkmk_edition: "cre" +checkmk_site: "my_site" +automation_user: "cmkadmin" +automation_secret: "d7589df1-01db-4eda-9858-dbcff8d0c361" + +# Agent Role +checkmk_agent_version: "{{ checkmk_version }}" +checkmk_agent_edition: "{{ checkmk_edition }}" +checkmk_agent_protocol: http +checkmk_agent_server: localhost +checkmk_agent_site: "{{ checkmk_site }}" +checkmk_agent_registration_server: "{{ checkmk_agent_server }}" +checkmk_agent_registration_site: "{{ checkmk_agent_site }}" +checkmk_agent_server_validate_certs: 'false' +checkmk_agent_port: "{% if checkmk_agent_protocol == 'https' %}443{% else %}80{% endif %}" +checkmk_agent_user: "{{ automation_user | default('automation') }}" + +# Depending on which user you will be using, set the password or secret: +# checkmk_agent_pass: "{{ automation_secret }}" +checkmk_agent_secret: "{{ automation_secret }}" + +checkmk_agent_auto_activate: 'false' +checkmk_agent_add_host: 'false' +checkmk_agent_discover: 'false' +checkmk_agent_update: 'false' +checkmk_agent_tls: 'false' +checkmk_agent_configure_firewall: 'false' +checkmk_agent_force_install: 'false' +checkmk_agent_prep_legacy: 'false' +checkmk_agent_delegate_api_calls: localhost +checkmk_agent_delegate_download: "{{ inventory_hostname }}" +checkmk_agent_host_name: "{{ inventory_hostname }}" +checkmk_agent_folder: "{{ checkmk_folder_path | default('/') }}" +checkmk_agent_force_foreign_changes: 'false' +checkmk_agent_host_attributes: + ipaddress: 127.0.0.1 + +# If you trust your local hostnames, you could also use the following +# to use the local hostname instead of the inventory hostname: +# checkmk_agent_host_name: "{{ hostvars[inventory_hostname]['ansible_fqdn'] }}" +# Checkmk does not need an IP address, as long as the hostname is DNS-resolvable + +# If that does not apply to your environment, you can configure the IP address below: +# checkmk_agent_host_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" + +# Server Role + +checkmk_server_edition: "{{ checkmk_edition }}" +checkmk_server_version: "{{ checkmk_version }}" +checkmk_server_verify_setup: 'true' + +checkmk_server_sites: + - name: "{{ checkmk_site }}" + version: "{{ checkmk_version }}" + state: started + admin_pw: cmk + update_conflict_resolution: install diff --git a/roles/agent/molecule/2.0.0/molecule.yml b/roles/agent/molecule/2.0.0/molecule.yml new file mode 100644 index 000000000..7864e6ae7 --- /dev/null +++ b/roles/agent/molecule/2.0.0/molecule.yml @@ -0,0 +1,87 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: ubuntu1804 + image: geerlingguy/docker-ubuntu1804-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2004 + image: geerlingguy/docker-ubuntu2004-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2204 + image: geerlingguy/docker-ubuntu2204-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian10 + image: geerlingguy/docker-debian10-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian11 + image: geerlingguy/docker-debian11-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos7 + image: geerlingguy/docker-centos7-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos8 + image: geerlingguy/docker-centos8-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible +scenario: + test_sequence: + - dependency + - cleanup + - destroy + - syntax + - create + - prepare + - converge + # - idempotence # disable for now, as we have non-idempotent tasks + - side_effect + - verify + - cleanup + - destroy diff --git a/roles/agent/molecule/2.0.0/verify.yml b/roles/agent/molecule/2.0.0/verify.yml new file mode 100644 index 000000000..868935aaa --- /dev/null +++ b/roles/agent/molecule/2.0.0/verify.yml @@ -0,0 +1,31 @@ +--- +- name: Verify + hosts: all + gather_facts: false + tasks: + + - name: Populate service facts. + ansible.builtin.service_facts: + + - name: "Test Agent is present." + ansible.builtin.stat: + path: "/usr/bin/check_mk_agent" + register: checkmk_agent_file + + - name: "Verify Agent is present." + ansible.builtin.assert: + that: checkmk_agent_file.stat.exists | bool + + - name: "Test Agent Service is running." + ansible.builtin.assert: + that: "'check_mk-async.service' in ansible_facts.services" + + - name: "Test that the Agent is listening on the default Port." + ansible.builtin.wait_for: + port: 6556 + connect_timeout: 30 + register: checkmk_agent_port + + - name: "Test Agent Service is listening on port 6556." + ansible.builtin.assert: + that: "(checkmk_agent_port.port == 6556) and (checkmk_agent_port.state == 'started')" diff --git a/roles/agent/molecule/2.1.0/converge.yml b/roles/agent/molecule/2.1.0/converge.yml new file mode 100644 index 000000000..355915cd1 --- /dev/null +++ b/roles/agent/molecule/2.1.0/converge.yml @@ -0,0 +1,37 @@ +--- +- name: Converge + hosts: all + + pre_tasks: + + - name: Update apt cache. + ansible.builtin.apt: + update_cache: true + cache_valid_time: 600 + when: ansible_os_family == 'Debian' + - name: Install prerequisites. + ansible.builtin.apt: + name: "{{ item }}" + state: present + loop: + - apt-utils + - man + when: ansible_os_family == 'Debian' + - name: Create '/usr/share/man/man8/' on Ubuntu. + ansible.builtin.file: + path: /usr/share/man/man8/ + state: directory + mode: "0755" + owner: root + group: root + when: ansible_distribution == 'Ubuntu' + + tasks: + + - name: "Run server role." + ansible.builtin.include_role: + name: server + + - name: "Run agent role." + ansible.builtin.include_role: + name: agent diff --git a/roles/agent/molecule/2.1.0/group_vars/all.yml b/roles/agent/molecule/2.1.0/group_vars/all.yml new file mode 100644 index 000000000..4c18d64af --- /dev/null +++ b/roles/agent/molecule/2.1.0/group_vars/all.yml @@ -0,0 +1,60 @@ +--- +# General +checkmk_version: "2.1.0p26" +checkmk_edition: "cre" +checkmk_site: "my_site" +automation_user: "cmkadmin" +automation_secret: "d7589df1-01db-4eda-9858-dbcff8d0c361" + +# Agent Role +checkmk_agent_version: "{{ checkmk_version }}" +checkmk_agent_edition: "{{ checkmk_edition }}" +checkmk_agent_protocol: http +checkmk_agent_server: localhost +checkmk_agent_site: "{{ checkmk_site }}" +checkmk_agent_registration_server: "{{ checkmk_agent_server }}" +checkmk_agent_registration_site: "{{ checkmk_agent_site }}" +checkmk_agent_server_validate_certs: 'false' +checkmk_agent_port: "{% if checkmk_agent_protocol == 'https' %}443{% else %}80{% endif %}" +checkmk_agent_user: "{{ automation_user | default('automation') }}" + +# Depending on which user you will be using, set the password or secret: +# checkmk_agent_pass: "{{ automation_secret }}" +checkmk_agent_secret: "{{ automation_secret }}" + +checkmk_agent_auto_activate: 'false' +checkmk_agent_add_host: 'false' +checkmk_agent_discover: 'false' +checkmk_agent_update: 'false' +checkmk_agent_tls: 'false' +checkmk_agent_configure_firewall: 'false' +checkmk_agent_force_install: 'false' +checkmk_agent_prep_legacy: 'false' +checkmk_agent_delegate_api_calls: localhost +checkmk_agent_delegate_download: "{{ inventory_hostname }}" +checkmk_agent_host_name: "{{ inventory_hostname }}" +checkmk_agent_folder: "{{ checkmk_folder_path | default('/') }}" +checkmk_agent_force_foreign_changes: 'false' +checkmk_agent_host_attributes: + ipaddress: 127.0.0.1 + +# If you trust your local hostnames, you could also use the following +# to use the local hostname instead of the inventory hostname: +# checkmk_agent_host_name: "{{ hostvars[inventory_hostname]['ansible_fqdn'] }}" +# Checkmk does not need an IP address, as long as the hostname is DNS-resolvable + +# If that does not apply to your environment, you can configure the IP address below: +# checkmk_agent_host_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" + +# Server Role + +checkmk_server_edition: "{{ checkmk_edition }}" +checkmk_server_version: "{{ checkmk_version }}" +checkmk_server_verify_setup: 'true' + +checkmk_server_sites: + - name: "{{ checkmk_site }}" + version: "{{ checkmk_version }}" + state: started + admin_pw: cmk + update_conflict_resolution: install diff --git a/roles/agent/molecule/2.1.0/molecule.yml b/roles/agent/molecule/2.1.0/molecule.yml new file mode 100644 index 000000000..7864e6ae7 --- /dev/null +++ b/roles/agent/molecule/2.1.0/molecule.yml @@ -0,0 +1,87 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: ubuntu1804 + image: geerlingguy/docker-ubuntu1804-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2004 + image: geerlingguy/docker-ubuntu2004-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2204 + image: geerlingguy/docker-ubuntu2204-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian10 + image: geerlingguy/docker-debian10-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian11 + image: geerlingguy/docker-debian11-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos7 + image: geerlingguy/docker-centos7-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos8 + image: geerlingguy/docker-centos8-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible +scenario: + test_sequence: + - dependency + - cleanup + - destroy + - syntax + - create + - prepare + - converge + # - idempotence # disable for now, as we have non-idempotent tasks + - side_effect + - verify + - cleanup + - destroy diff --git a/roles/agent/molecule/2.1.0/verify.yml b/roles/agent/molecule/2.1.0/verify.yml new file mode 100644 index 000000000..79fce6e30 --- /dev/null +++ b/roles/agent/molecule/2.1.0/verify.yml @@ -0,0 +1,31 @@ +--- +- name: Verify + hosts: all + gather_facts: false + tasks: + + - name: Populate service facts. + ansible.builtin.service_facts: + + - name: "Test Agent is present." + ansible.builtin.stat: + path: "/usr/bin/check_mk_agent" + register: checkmk_agent_file + + - name: "Verify Agent is present." + ansible.builtin.assert: + that: checkmk_agent_file.stat.exists | bool + + - name: "Test Agent Service is running." + ansible.builtin.assert: + that: "'check-mk-agent-async.service' in ansible_facts.services" + + - name: "Test that the Agent is listening on the default Port." + ansible.builtin.wait_for: + port: 6556 + connect_timeout: 30 + register: checkmk_agent_port + + - name: "Test Agent Service is listening on port 6556." + ansible.builtin.assert: + that: "(checkmk_agent_port.port == 6556) and (checkmk_agent_port.state == 'started')" diff --git a/roles/agent/molecule/2.2.0/converge.yml b/roles/agent/molecule/2.2.0/converge.yml new file mode 100644 index 000000000..6fa62fce9 --- /dev/null +++ b/roles/agent/molecule/2.2.0/converge.yml @@ -0,0 +1,39 @@ +--- +- name: Converge + hosts: all + + pre_tasks: + + - name: Update apt cache. + ansible.builtin.apt: + update_cache: true + cache_valid_time: 600 + when: ansible_os_family == 'Debian' + + - name: Install prerequisites. + ansible.builtin.apt: + name: "{{ item }}" + state: present + loop: + - apt-utils + - man + when: ansible_os_family == 'Debian' + + - name: Create '/usr/share/man/man8/' on Ubuntu. + ansible.builtin.file: + path: /usr/share/man/man8/ + state: directory + mode: "0755" + owner: root + group: root + when: ansible_distribution == 'Ubuntu' + + tasks: + + - name: "Run server role." + ansible.builtin.include_role: + name: server + + - name: "Run agent role." + ansible.builtin.include_role: + name: agent diff --git a/roles/agent/molecule/2.2.0/group_vars/all.yml b/roles/agent/molecule/2.2.0/group_vars/all.yml new file mode 100644 index 000000000..089885a55 --- /dev/null +++ b/roles/agent/molecule/2.2.0/group_vars/all.yml @@ -0,0 +1,60 @@ +--- +# General +checkmk_version: "2.2.0b4" +checkmk_edition: "cre" +checkmk_site: "my_site" +automation_user: "cmkadmin" +automation_secret: "d7589df1-01db-4eda-9858-dbcff8d0c361" + +# Agent Role +checkmk_agent_version: "{{ checkmk_version }}" +checkmk_agent_edition: "{{ checkmk_edition }}" +checkmk_agent_protocol: http +checkmk_agent_server: localhost +checkmk_agent_site: "{{ checkmk_site }}" +checkmk_agent_registration_server: "{{ checkmk_agent_server }}" +checkmk_agent_registration_site: "{{ checkmk_agent_site }}" +checkmk_agent_server_validate_certs: 'false' +checkmk_agent_port: "{% if checkmk_agent_protocol == 'https' %}443{% else %}80{% endif %}" +checkmk_agent_user: "{{ automation_user | default('automation') }}" + +# Depending on which user you will be using, set the password or secret: +# checkmk_agent_pass: "{{ automation_secret }}" +checkmk_agent_secret: "{{ automation_secret }}" + +checkmk_agent_auto_activate: 'false' +checkmk_agent_add_host: 'false' +checkmk_agent_discover: 'false' +checkmk_agent_update: 'false' +checkmk_agent_tls: 'false' +checkmk_agent_configure_firewall: 'false' +checkmk_agent_force_install: 'false' +checkmk_agent_prep_legacy: 'false' +checkmk_agent_delegate_api_calls: localhost +checkmk_agent_delegate_download: "{{ inventory_hostname }}" +checkmk_agent_host_name: "{{ inventory_hostname }}" +checkmk_agent_folder: "{{ checkmk_folder_path | default('/') }}" +checkmk_agent_force_foreign_changes: 'false' +checkmk_agent_host_attributes: + ipaddress: 127.0.0.1 + +# If you trust your local hostnames, you could also use the following +# to use the local hostname instead of the inventory hostname: +# checkmk_agent_host_name: "{{ hostvars[inventory_hostname]['ansible_fqdn'] }}" +# Checkmk does not need an IP address, as long as the hostname is DNS-resolvable + +# If that does not apply to your environment, you can configure the IP address below: +# checkmk_agent_host_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" + +# Server Role + +checkmk_server_edition: "{{ checkmk_edition }}" +checkmk_server_version: "{{ checkmk_version }}" +checkmk_server_verify_setup: 'true' + +checkmk_server_sites: + - name: "{{ checkmk_site }}" + version: "{{ checkmk_version }}" + state: started + admin_pw: cmk + update_conflict_resolution: install diff --git a/roles/agent/molecule/2.2.0/molecule.yml b/roles/agent/molecule/2.2.0/molecule.yml new file mode 100644 index 000000000..7864e6ae7 --- /dev/null +++ b/roles/agent/molecule/2.2.0/molecule.yml @@ -0,0 +1,87 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: ubuntu1804 + image: geerlingguy/docker-ubuntu1804-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2004 + image: geerlingguy/docker-ubuntu2004-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: ubuntu2204 + image: geerlingguy/docker-ubuntu2204-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian10 + image: geerlingguy/docker-debian10-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: debian11 + image: geerlingguy/docker-debian11-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos7 + image: geerlingguy/docker-centos7-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true + - name: centos8 + image: geerlingguy/docker-centos8-ansible + command: ${MOLECULE_DOCKER_COMMAND:-""} + tmpfs: + - /run + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible +scenario: + test_sequence: + - dependency + - cleanup + - destroy + - syntax + - create + - prepare + - converge + # - idempotence # disable for now, as we have non-idempotent tasks + - side_effect + - verify + - cleanup + - destroy diff --git a/roles/agent/molecule/2.2.0/verify.yml b/roles/agent/molecule/2.2.0/verify.yml new file mode 100644 index 000000000..79fce6e30 --- /dev/null +++ b/roles/agent/molecule/2.2.0/verify.yml @@ -0,0 +1,31 @@ +--- +- name: Verify + hosts: all + gather_facts: false + tasks: + + - name: Populate service facts. + ansible.builtin.service_facts: + + - name: "Test Agent is present." + ansible.builtin.stat: + path: "/usr/bin/check_mk_agent" + register: checkmk_agent_file + + - name: "Verify Agent is present." + ansible.builtin.assert: + that: checkmk_agent_file.stat.exists | bool + + - name: "Test Agent Service is running." + ansible.builtin.assert: + that: "'check-mk-agent-async.service' in ansible_facts.services" + + - name: "Test that the Agent is listening on the default Port." + ansible.builtin.wait_for: + port: 6556 + connect_timeout: 30 + register: checkmk_agent_port + + - name: "Test Agent Service is listening on port 6556." + ansible.builtin.assert: + that: "(checkmk_agent_port.port == 6556) and (checkmk_agent_port.state == 'started')" diff --git a/roles/server/molecule/2.0.0/group_vars/all.yml b/roles/server/molecule/2.0.0/group_vars/all.yml index 6e1337e3c..45c8fdb41 100644 --- a/roles/server/molecule/2.0.0/group_vars/all.yml +++ b/roles/server/molecule/2.0.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_version: "2.0.0p34" +checkmk_version: "2.0.0p35" checkmk_edition: "cre" checkmk_site: "my_site" server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.0.0/molecule.yml b/roles/server/molecule/2.0.0/molecule.yml index 19d9c24bf..7864e6ae7 100644 --- a/roles/server/molecule/2.0.0/molecule.yml +++ b/roles/server/molecule/2.0.0/molecule.yml @@ -74,7 +74,6 @@ verifier: scenario: test_sequence: - dependency - - lint - cleanup - destroy - syntax diff --git a/roles/server/molecule/2.1.0/group_vars/all.yml b/roles/server/molecule/2.1.0/group_vars/all.yml index 4153afac5..dbde2d516 100644 --- a/roles/server/molecule/2.1.0/group_vars/all.yml +++ b/roles/server/molecule/2.1.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_version: "2.1.0p25" +checkmk_version: "2.1.0p26" checkmk_edition: "cre" checkmk_site: "my_site" server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.1.0/molecule.yml b/roles/server/molecule/2.1.0/molecule.yml index 19d9c24bf..7864e6ae7 100644 --- a/roles/server/molecule/2.1.0/molecule.yml +++ b/roles/server/molecule/2.1.0/molecule.yml @@ -74,7 +74,6 @@ verifier: scenario: test_sequence: - dependency - - lint - cleanup - destroy - syntax diff --git a/roles/server/molecule/2.2.0/converge.yml b/roles/server/molecule/2.2.0/converge.yml index f98537dbb..2765b83d9 100644 --- a/roles/server/molecule/2.2.0/converge.yml +++ b/roles/server/molecule/2.2.0/converge.yml @@ -5,28 +5,28 @@ pre_tasks: - name: Update apt cache. - when: ansible_os_family == 'Debian' ansible.builtin.apt: update_cache: true cache_valid_time: 600 + when: ansible_os_family == 'Debian' - name: Install prerequisites. - when: ansible_os_family == 'Debian' ansible.builtin.apt: name: "{{ item }}" state: present loop: - apt-utils - man + when: ansible_os_family == 'Debian' - name: Create '/usr/share/man/man8/' on Ubuntu. - when: ansible_distribution == 'Ubuntu' ansible.builtin.file: path: /usr/share/man/man8/ state: directory mode: "0755" owner: root group: root + when: ansible_distribution == 'Ubuntu' tasks: diff --git a/roles/server/molecule/2.2.0/group_vars/all.yml b/roles/server/molecule/2.2.0/group_vars/all.yml index c3d34aa74..0d4f3edf6 100644 --- a/roles/server/molecule/2.2.0/group_vars/all.yml +++ b/roles/server/molecule/2.2.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_version: "2.2.0b2" +checkmk_version: "2.2.0b4" checkmk_edition: "cre" checkmk_site: "my_site" server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.2.0/molecule.yml b/roles/server/molecule/2.2.0/molecule.yml index 19d9c24bf..7864e6ae7 100644 --- a/roles/server/molecule/2.2.0/molecule.yml +++ b/roles/server/molecule/2.2.0/molecule.yml @@ -74,7 +74,6 @@ verifier: scenario: test_sequence: - dependency - - lint - cleanup - destroy - syntax