Skip to content

Commit 8981e77

Browse files
authored
Merge pull request #15 from khaledk2/fix_deployment_issues
Fix deployment issues
2 parents 2307e09 + 5496687 commit 8981e77

File tree

7 files changed

+64
-33
lines changed

7 files changed

+64
-33
lines changed

ansible.cfg

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[defaults]
2+
fact_caching = jsonfile
3+
fact_caching_connection = /tmp/ansible_cache
4+
fact_caching_timeout = 600

defaults/main.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,15 @@ instances: {}
3333
nginx_port: 8080
3434
es_java_options: "-Xms2g -Xmx2g"
3535
no_index_processes: 2
36-
test_mode: false
36+
prune_app_folder: false
3737
queries_folder: queries/
3838
force_update: false
3939
dump_output_format: "json"
4040
max_page_size: 10000
4141
support_async: true
42+
search_container_names:
43+
- searchengine
44+
- searchengine-nginx-container
45+
- searchengine-redis-container
46+
- searchengine_celery
47+
- searchengine_celery_beat

molecule/resources/playbook.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,3 @@
77
es_java_options: "-Xms512m -Xmx512m"
88
elasticsearch_no_nodes: 1
99
elastic_password: my_password
10-
test_mode: true
11-

tasks/elasticsearch.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
2-
- name: omero searchengine | Check if IP is in use
3-
ansible.builtin.set_fact:
4-
ip_taken: "10.11.0.2 network_info.networks[0].containers.values() | map(attribute='ipv4_address') | list }}"
52
- name: Get info about the searchengine container
63
community.docker.docker_container_info:
74
name: searchengine_elasticsearch_node1
85
register: container_info_elasticsearch_node1
96

7+
- name: omero searchengine | Check if IP is in use
8+
ansible.builtin.set_fact:
9+
ip_taken: "10.11.0.2 network_info.networks[0].containers.values() | map(attribute='ipv4_address') | list }}"
10+
1011
- name: omero searchengine | Add elastic nodes to instances_nodes
1112
ansible.builtin.set_fact:
1213
instances_nodes: "{{instances_nodes + [( {'name' : 'searchengine_elasticsearch_node'+item, 'dns': ['searchengine_elasticsearch_node'+item,'localhost'],'ip': '127.0.0.1'})] }}"
@@ -16,16 +17,8 @@
1617
ansible.builtin.set_fact:
1718
instances: "{{instances | combine ( {'instances' : instances_nodes}) }}"
1819

19-
#Add all elasticsearch nodes
20-
- name: omero searchengine | Add elastic nodes to elasticsearch_nodes
21-
ansible.builtin.set_fact:
22-
elasticsearch_nodes: '{{ elasticsearch_nodes + ["searchengine_elasticsearch_node"+item] }}'
23-
with_sequence: start=1 count={{ elasticsearch_no_nodes }}
24-
2520
- name: omero searchengine | Create docker network
2621
become: yes
27-
#vars:
28-
# ansible_python_interpreter: /usr/bin/python
2922
community.docker.docker_network:
3023
name: searchengine-net
3124
driver: bridge

tasks/main.yml

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
---
2-
## create the searchengine and elasticsearch folders
32

3+
#Add all elasticsearch nodes
4+
- name: omero searchengine | Add elastic nodes to elasticsearch_nodes
5+
ansible.builtin.set_fact:
6+
elasticsearch_nodes: '{{ elasticsearch_nodes + ["searchengine_elasticsearch_node"+item] }}'
7+
cacheable: yes
8+
with_sequence: start=1 count={{ elasticsearch_no_nodes }}
9+
10+
#Add all elasticsearch nodes
11+
- name: omero searchengine | Add elastic nodes to elasticsearch_nodes_urls
12+
ansible.builtin.set_fact:
13+
elasticsearch_nodes_urls: '{{ elasticsearch_nodes_urls + ["https://10.11.0."+item+":9200"] }}'
14+
cacheable: yes
15+
with_sequence: start=2 count={{ elasticsearch_no_nodes }}
416

517
- name: omero searchengine | Ensure sysctl is present
618
ansible.builtin.package:
@@ -28,6 +40,40 @@
2840
ansible.builtin.import_role:
2941
name: ome.docker
3042

43+
- name: omero searchengine | Get Docker information
44+
community.docker.docker_host_info:
45+
containers: true
46+
containers_all: true
47+
register: searchengine_docker_info
48+
49+
- name: omero searchengine | Get list of container names
50+
set_fact:
51+
searchengine_container_names: >-
52+
{{
53+
searchengine_docker_info.containers
54+
| map(attribute='Names')
55+
| flatten
56+
| map('regex_replace', '^/', '')
57+
| list
58+
}}
59+
cacheable: yes
60+
61+
- name: omero searchengine | Stop and delete running containers
62+
community.docker.docker_container:
63+
name: "{{ item }}"
64+
state: absent #stopped
65+
loop: "{{ searchengine_container_names }}"
66+
when:
67+
- item in elasticsearch_nodes or item in search_container_names
68+
- not molecule_yml is defined
69+
70+
- name: omero searchengine | remove app directory
71+
become: yes
72+
ansible.builtin.file:
73+
path: "{{ apps_folder }}/searchengine"
74+
state: absent
75+
when: prune_app_folder
76+
3177
- name: omero searchengine | Check if a elastic node data folder exists
3278
ansible.builtin.stat:
3379
path: "{{ apps_folder }}/searchengine/elasticsearch/node1/data"
@@ -55,7 +101,6 @@
55101
mode: 0755
56102
changed_when: false
57103

58-
59104
- name: omero searchengine | Create elasticsearch certs folder
60105
become: yes
61106
ansible.builtin.file:
@@ -108,15 +153,14 @@
108153

109154
- name: omero searchengine | deploy elasticsearch cluster
110155
ansible.builtin.include_tasks: elasticsearch.yml
111-
when: not elastic_node_data_folder.stat.exists or force_update
112156

113157
- name: omero searchengine | deploy nginx for the search engine
114158
ansible.builtin.import_tasks: nginx.yml
115-
when: not test_mode
159+
when: not molecule_yml is defined
116160

117161
- name: omero searchengine | deploy redis
118162
ansible.builtin.import_tasks: redis.yml
119-
when: not test_mode and support_async
163+
when: not molecule_yml is defined
120164

121165
- name: omero searchengine | deploy searchengine
122166
ansible.builtin.import_tasks: searchengine.yml

tasks/nginx.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
restart_policy: always
4848
tags: [always, nginx]
4949

50-
5150
- name: copy adjust containers files script to the host machine
5251
ansible.builtin.template:
5352
src: adjust_containers_files.sh.j2

tasks/searchengine.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111
ansible.builtin.debug:
1212
msg: "Container '{{ container_info_searchengine_f }}' is in state: {{ container_info_searchengine_f.exists}}"
1313

14-
- name: omero searchengine | set elasticsearch_nodes_urls
15-
ansible.builtin.set_fact:
16-
elasticsearch_nodes_urls: []
17-
18-
1914
- name: omero searchengine | Create searchengine folder directory
2015
become: yes
2116
ansible.builtin.file:
@@ -63,12 +58,6 @@
6358
group: root
6459
mode: 0755
6560

66-
#Add all elasticsearch nodes
67-
- name: omero searchengine | Add elastic nodes to elasticsearch_nodes_urls
68-
ansible.builtin.set_fact:
69-
elasticsearch_nodes_urls: '{{ elasticsearch_nodes_urls + ["https://10.11.0."+item+":9200"] }}'
70-
with_sequence: start=2 count={{ elasticsearch_no_nodes }}
71-
7261
- name: omero searchengine | configure elasticsearch backup folder for docker searchengine
7362
become: yes
7463
community.docker.docker_container:
@@ -363,8 +352,6 @@
363352
- "{{ apps_folder }}/data_dump:/data/data_dump"
364353
when: not container_info_searchengine_f.exists and support_async
365354

366-
367-
368355
#ansible-playbook install_searchengine.yml --tags "indexer"
369356
- name: omero searchengine | Index the default data source
370357
become: yes

0 commit comments

Comments
 (0)