Skip to content
Snippets Groups Projects
Commit baa4d558 authored by Mathieu Leguay's avatar Mathieu Leguay
Browse files

[DEVOPS] Improve mongo deployment

parent e0d3be46
No related branches found
No related tags found
1 merge request!1Feature/design/1
---
- fail: msg="Variable '{{ mongo_file }}' is not defined"
when: mongo_file is undefined
- name:
debug:
msg: ">>>> Execution of the file {{ mongo_file.finalname }}<<<<"
- name: Check if the script exists
stat:
path: "{{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
register: stat_result
- block:
- fail: msg="The file '{{ mongo_file.finalname }}' is not exist"
when: not stat_result.stat.exists
- name: Get script content.
shell: "cat {{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
register: script_content
- name: Compute versionned script files
template:
src: "versioned_script.js.j2"
dest: "{{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
owner: "{{ vitamui_defaults.users.vitamuidb }}"
group: "{{ vitamui_defaults.users.group }}"
mode: 0755
when: mongodb.versioning is defined and mongodb.versioning.enable
- name: Load script in database
shell: "mongo \"mongodb://{{ mongod_uri }}/admin\" {{ mongo_credentials }} {{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
no_log: "{{ hide_passwords_during_deploy }}"
when: mongodb.docker is not defined or not mongodb.docker.enable
- name: Load script in database (docker)
command: "docker exec --tty {{ mongodb.docker.image_name }} /bin/bash -c \"mongo \\\"mongodb://{{ mongod_uri }}/admin\\\" {{ mongo_credentials }} {{ mongodb.docker.internal_dir}}/app/mongod/{{ mongo_file.finalname }}\""
no_log: "{{ hide_passwords_during_deploy }}"
when: mongodb.docker is defined and mongodb.docker.enable
......@@ -78,8 +78,33 @@
mode: 0755
loop: "{{ mongod_eligible_files | unique }}"
- name: "Execute file"
include_tasks: "execute_script.yml"
- name: "Prepare file"
include_tasks: "prepare_script.yml"
when: mongodb.versioning is defined and mongodb.versioning.enable
loop: "{{ mongod_eligible_files | unique }}"
loop_control:
loop_var: mongo_file
- name: Compute main script file
template:
src: "main_script.js.j2"
dest: "{{ mongod_output_dir_entry_point }}/main_script.js"
owner: "{{ vitamui_defaults.users.vitamuidb }}"
group: "{{ vitamui_defaults.users.group }}"
mode: 0755
- name: Load script in database
shell: "mongo \"mongodb://{{ mongod_uri }}/admin\" {{ mongo_credentials }} {{ mongod_output_dir_entry_point }}/main_script.js"
no_log: "{{ hide_passwords_during_deploy }}"
when: mongodb.docker is not defined or not mongodb.docker.enable
- name: Load script in database (docker)
command: "docker exec --tty {{ mongodb.docker.image_name }} /bin/bash -c \"mongo \\\"mongodb://{{ mongod_uri }}/admin\\\" {{ mongo_credentials }} {{ mongodb.docker.internal_dir}}/app/mongod/main_script.js \""
no_log: "{{ hide_passwords_during_deploy }}"
when: mongodb.docker is defined and mongodb.docker.enable
# - name: "Execute file"
# include_tasks: "execute_script.yml"
# loop: "{{ mongod_eligible_files | unique }}"
# loop_control:
# loop_var: mongo_file
\ No newline at end of file
---
- fail: msg="Variable '{{ mongo_file }}' is not defined"
when: mongo_file is undefined
- name:
debug:
msg: ">>>> Execution of the file {{ mongo_file.finalname }}<<<<"
- name: Check if the script exists
stat:
path: "{{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
register: stat_result
- fail: msg="The file '{{ mongo_file.finalname }}' is not exist"
when: not stat_result.stat.exists
- name: Get script content.
shell: "cat {{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
register: script_content
- name: Compute versionned script files
template:
src: "versioned_script.js.j2"
dest: "{{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}"
owner: "{{ vitamui_defaults.users.vitamuidb }}"
group: "{{ vitamui_defaults.users.group }}"
mode: 0755
{% for script in mongod_eligible_files %}
{% if mongodb.docker is defined and mongodb.docker.enable %}
load('{{ mongodb.docker.internal_dir}}/app/mongod/{{ script.finalname }}');
{% else %}
load('{{mongod_output_dir_entry_point}}/{{ script.finalname }}');
{% endif %}
{% endfor %}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment