Skip to content

Commit

Permalink
Merge pull request #35 from idealista/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
ultraheroe authored Jun 27, 2024
2 parents fadee68 + 30c5b18 commit 93b9867
Show file tree
Hide file tree
Showing 17 changed files with 615 additions and 565 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ notifications:
on_success: change
on_failure: always
recipients:
- desarrollo.benders@idealista.com
- desarrollo.benders@idealista.com
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a ch

[Full Changelog](https://github.com/idealista/neo4j_role/compare/master...develop)

## [3.1.0] - 2024-06-27

### Changed

- *Docker compose module update to v2* @ultraheroe

## [3.0.1] - 2024-06-10

### Added
Expand Down
13 changes: 6 additions & 7 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ verify_ssl = true
name = "pypi"

[packages]
ansible = "==8.4.0"
molecule = "==6.0.2"
docker = "==6.1.3"
ansible-lint = "==6.20.0"
yamllint = "==1.32.0"
molecule-plugins = {version = "==23.5.0", extras = ["docker"]}
ansible = "==10.1.0"
molecule = "==24.6.0"
docker = "==7.1.0"
ansible-lint = "==24.6.1"
yamllint = "==1.35.1"
molecule-plugins = {extras = ["docker"], version = "==23.5.3"}

[dev-packages]

[requires]
python_version = "3.11"
python_full_version = "3.11.3"
1,032 changes: 537 additions & 495 deletions Pipfile.lock

Large diffs are not rendered by default.

26 changes: 14 additions & 12 deletions defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ neo4j_required_python_packages:
neo4j_project_name: "{{ app_name }}"
neo4j_docker_container_name: "{{ neo4j_project_name }}"
neo4j_docker_service_name: "{{ neo4j_project_name }}"
neo4j_docker_compose_pull: always
neo4j_docker_compose_recreate: auto

# Using compose file
# Ansible docker compose file template
Expand All @@ -77,23 +79,23 @@ neo4j_docker_compose_file: "{{ neo4j_docker_files_path }}/docker-compose.yml"
# Using definitions
neo4j_install_using_definition: false
neo4j_docker_definition:
version: '2.4'
version: '3.8'
services:
neo4j:
image: "{{ neo4j_image }}:{{ neo4j_tag }}"
restart: always
networks:
- neo4j
container_name: "{{ neo4j_docker_container_name }}"
ports:
ports:
- "{{ neo4j_http_port }}:{{ neo4j_http_port }}"
- "{{ neo4j_bolt_port }}:{{ neo4j_bolt_port }}"
environment:
- NEO4J_AUTH={{ neo4j_login_user.name }}/{{ neo4j_login_user.password }}
volumes:
- "{{ neo4j_docker_conf_path }}:/conf"
- "{{ neo4j_docker_data_path }}:/data"
- "{{ neo4j_docker_logs_path }}:/logs"
- "{{ neo4j_docker_conf_path }}:/conf"
- "{{ neo4j_docker_data_path }}:/data"
- "{{ neo4j_docker_logs_path }}:/logs"
networks:
neo4j:
name: "{{ neo4j_project_name }}"
Expand All @@ -107,7 +109,7 @@ neo4j_config_file: "{{ neo4j_docker_conf_path }}/neo4j.conf"
# neo4j_custom_server_logs_config_file: "{{ playbook_dir }}/files/server-logs.xml"
# neo4j_custom_user_logs_config_file: "{{ playbook_dir }}/files/user-logs.xml"

neo4j_docker_compose_version: "2.4"
neo4j_docker_compose_version: "3.8"
neo4j_docker_compose_restart: "always"
neo4j_docker_compose_networks:
- name: "{{ neo4j_project_name }}"
Expand All @@ -129,7 +131,7 @@ neo4j_docker_compose_volumes:
neo4j_configuration:
neo4j_server_directories:
data: /data
# plugins: plugins
# plugins: plugins
logs: /logs
# lib: lib
# run: run
Expand All @@ -141,11 +143,11 @@ neo4j_server_directories:
# neo4j_usage_report_enabled: false

neo4j_memory:
# heap_initial_size: 512m
# heap_max_size: 512m
# heap_initial_size: 512m
# heap_max_size: 512m
pagecache_size: 512m
# transaction_total_max: 256m
# transaction_max: 16m
# transaction_total_max: 256m
# transaction_max: 16m

neo4j_network:
default_listen_address: 0.0.0.0
Expand All @@ -160,7 +162,7 @@ neo4j_network:
https_enabled: "false"
# https_listen_address: 7473
# https_advertised_address: 7473
# threads_worker_count:
# threads_worker_count:

# neo4j_logging:
# http_enabled: "true"
Expand Down
14 changes: 6 additions & 8 deletions handlers/restart.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
---

- name: Restart container docker compose
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
project_src: "{{ neo4j_docker_files_path }}"
pull: true
state: present
restarted: true
pull: "{{ neo4j_docker_compose_pull }}"
state: restarted
when: not neo4j_install_using_definition

- name: Restart container docker definitions
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
definition: "{{ neo4j_docker_definition }}"
pull: true
state: present
restarted: true
pull: "{{ neo4j_docker_compose_pull }}"
state: restarted
when: neo4j_install_using_definition
6 changes: 3 additions & 3 deletions meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ galaxy_info:
- name: Debian
versions:
- bullseye
dependencies:
- role: idealista.docker
when: lookup('env', 'MOLECULE_FILE')
dependencies:
- role: idealista.docker
when: lookup('env', 'MOLECULE_FILE')
4 changes: 2 additions & 2 deletions molecule/default/cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
- 'yml'

- name: NEO4J | Compose Remove (docker-compose.yml)
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
project_src: "{{ neo4j_docker_files_path }}"
state: absent
Expand All @@ -21,7 +21,7 @@
failed_when: false

- name: NEO4J | Compose Remove (definition)
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
definition: "{{ neo4j_docker_definition }}"
state: absent
Expand Down
6 changes: 3 additions & 3 deletions molecule/default/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ docker_restart_handler_state: stopped
neo4j_docker_data_path: /tmp/neo4j/data
neo4j_docker_logs_path: /tmp/neo4j/logs
neo4j_docker_conf_path: /tmp/neo4j/conf
#neo4j_docker_user: root
# neo4j_docker_user: root

# NEO4J docker
neo4j_docker_compose_file: "{{ neo4j_docker_files_path }}/docker-compose.yml"
Expand All @@ -27,11 +27,11 @@ neo4j_docker_compose_volumes:
- "{{ neo4j_docker_data_path }}:/data"
- "{{ neo4j_docker_logs_path }}:/logs"
- "{{ neo4j_docker_conf_path }}:/conf"
#- "{{ lookup('env', 'MOLECULE_SCENARIO_DIRECTORY') }}/test-config:{{ neo4j_docker_conf_path }}"
# - "{{ lookup('env', 'MOLECULE_SCENARIO_DIRECTORY') }}/test-config:{{ neo4j_docker_conf_path }}"

neo4j_override_default_config: true

neo4j_usage_report_enabled: false
neo4j_login_user:
name: neo4j
password: testtest
password: testtest
12 changes: 3 additions & 9 deletions molecule/default/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@ platforms:
capabilities:
- SYS_ADMIN
volumes:
- '/sys/fs/cgroup:/sys/fs/cgroup:ro'
- '/sys/fs/cgroup:/sys/fs/cgroup:rw'
- '/var/run/docker.sock:/var/run/docker.sock'
- '/tmp/neo4j/data:/tmp/neo4j/data'
- '/tmp/neo4j/logs:/tmp/neo4j/logs'
- '/tmp/neo4j/conf:/tmp/neo4j/conf'
# - '${MOLECULE_SCENARIO_DIRECTORY}/test-config:/var/lib/neo4j/conf'
cgroupns_mode: host
tmpfs:
- '/tmp'
- '/run'
Expand All @@ -29,20 +30,13 @@ platforms:
stop_signal: 'RTMIN+3'
networks:
- name: neo4j
purge_networks: true

provisioner:
name: ansible
log: true

scenario:
name: default
# converge_sequence:
#- dependency
#- create
#- prepare
#- converge
#- check
#- destroy

verifier:
name: ansible
2 changes: 1 addition & 1 deletion molecule/default/prepare.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
hosts: neo4j_group
gather_facts: true
roles:
- role: docker
- role: idealista.docker
tags: docker
when: neo4j_docker_check
2 changes: 1 addition & 1 deletion molecule/default/requirements.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---

roles:
- name: docker
- name: idealista.docker
src: https://github.com/idealista/docker_role.git
scm: git
version: 7.1.0
15 changes: 8 additions & 7 deletions molecule/default/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

tasks:
- name: Download and install Goss
get_url:
ansible.builtin.get_url:
url: "{{ goss_url }}"
dest: "{{ goss_dst }}"
checksum: "sha256:{{ goss_sha256sum }}"
Expand All @@ -31,29 +31,30 @@
retries: 3

- name: Copy Goss tests to remote
template:
ansible.builtin.template:
src: "{{ item }}"
dest: "{{ goss_test_directory }}/{{ item | basename }}"
mode: '0644'
with_fileglob:
- "tests/test_*.yml"
- "{{ 'tests/test_*.yml' }}"

- name: Register test files
shell: "ls {{ goss_test_directory }}/test_*.yml"
ansible.builtin.shell: "ls {{ goss_test_directory }}/test_*.yml"
register: test_files

- name: Execute Goss tests
command: "{{ goss_dst }} -g {{ item }} validate --format {{ goss_format }}"
ansible.builtin.command: "{{ goss_dst }} -g {{ item }} validate --format {{ goss_format }}"
register: test_results
with_items: "{{ test_files.stdout_lines }}"
ignore_errors: true

- name: Display details about the Goss results
debug:
ansible.builtin.debug:
msg: "{{ item.stdout_lines }}"
with_items: "{{ test_results.results }}"

- name: Fail when tests fail
fail:
ansible.builtin.fail:
msg: "Goss failed to validate"
when: item.rc != 0
with_items: "{{ test_results.results }}"
1 change: 0 additions & 1 deletion tasks/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,3 @@
mode: 0774
when: neo4j_custom_user_logs_config_file is not defined
notify: NEO4J | Restart containers

26 changes: 18 additions & 8 deletions tasks/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,44 +23,54 @@
- neo4j_custom_docker_compose_file is not defined

- name: NEO4J | 🐋 Compose Remove
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
project_src: "{{ neo4j_docker_files_path }}"
state: absent
when: neo4j_force_reinstall

- name: NEO4J | 🐋 Compose up
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
project_src: "{{ neo4j_docker_files_path }}"
pull: true
pull: "{{ neo4j_docker_compose_pull }}"
state: present
recreate: "{{ neo4j_docker_compose_recreate }}"
register: output

- name: NEO4J | 🐋 Assert NEO4J is running
ansible.builtin.assert:
that:
- "output.services['{{ neo4j_docker_service_name }}']['{{ neo4j_docker_container_name }}'].state.running"
- container.State == 'running'
success_msg: "Running {{ container.Service }}"
loop: "{{ output.containers }}"
loop_control:
loop_var: container

- name: NEO4J | 🐋 Install using docker definition vars
when: neo4j_install_using_definition
block:
- name: NEO4J | 🐋 Compose Remove
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
definition: "{{ neo4j_docker_definition }}"
state: absent
when: neo4j_force_reinstall

- name: NEO4J | 🐋 Compose up
community.docker.docker_compose:
community.docker.docker_compose_v2:
project_name: "{{ neo4j_project_name }}"
definition: "{{ neo4j_docker_definition }}"
pull: true
pull: "{{ neo4j_docker_compose_pull }}"
state: present
recreate: "{{ neo4j_docker_compose_recreate }}"
register: output

- name: NEO4J | 🐋 Assert NEO4J is running
ansible.builtin.assert:
that:
- "output.services['{{ neo4j_docker_service_name }}']['{{ neo4j_docker_container_name }}'].state.running"
- container.State == 'running'
success_msg: "Running {{ container.Service }}"
loop: "{{ output.containers }}"
loop_control:
loop_var: container
1 change: 0 additions & 1 deletion templates/docker-compose.yml.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: '{{ neo4j_docker_compose_version }}'
services:
{{ neo4j_docker_service_name }}:
image: {{ neo4j_image }}:{{ neo4j_tag }}
Expand Down
12 changes: 6 additions & 6 deletions test-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ansible==8.4.0
molecule==6.0.2
molecule-plugins[docker]==23.5.0
docker==6.1.3
ansible-lint==6.20.0
yamllint==1.32.0
ansible==10.1.0
molecule==24.6.0
molecule-plugins[docker]==23.5.3
docker==7.1.0
ansible-lint==24.6.1
yamllint==1.35.1

0 comments on commit 93b9867

Please sign in to comment.