ansible-role-mongodb/tasks/configure.yml

63 lines
1.9 KiB
YAML

---
- name: Create keyFile
copy:
dest: "{{ mongodb_security_keyfile }}"
content: "{{ mongodb_keyfile_content }}"
owner: "{{ mongodb_user }}"
group: "root"
mode: 0600
when: mongodb_replication_replset and mongodb_replication_replset != ''
- name: set mongodb gid
group: name=mongodb gid={{ mongodb_gid }} state=present
when: mongodb_gid
- name: set mongodb uid
user: name=mongodb uid={{ mongodb_uid }} group=mongodb state=present
when: mongodb_uid
- name: reset mongodb folder and subfolders with new uid
file: path={{ mongodb_storage_dbpath }} owner=mongodb group=mongodb follow=yes recurse=yes state=directory
when: mongodb_uid
- name: Create log dir if missing
file: state=directory recurse=yes dest={{ mongodb_systemlog_path|dirname }} owner={{ mongodb_user }} group={{mongodb_user}} mode=0755
- name: Check than logfile exists
stat: path={{ mongodb_systemlog_path }}
register: logfile_stat
- name: Create log if missing
file: state=touch dest={{ mongodb_systemlog_path }} owner={{ mongodb_user }} group={{mongodb_user}} mode=0755
when: logfile_stat is defined and not logfile_stat.stat.exists
- name: Ensure dbpath directory
file:
path: "{{ mongodb_storage_dbpath }}"
state: directory
owner: "{{ mongodb_user }}"
recurse: yes
- name: Configure mongodb
template: src=mongod.conf.j2 dest=/etc/mongod.conf backup=yes owner=root group=root mode=0644
register: config_result
- name: mongodb restart
service: name={{ mongodb_daemon_name }} state=restarted
when: config_result|changed and mongodb_manage_service
- name: Ensure service is started
service: name={{ mongodb_daemon_name }} state=started
- name: Set fact about wait_for host address
set_fact:
wait_for_host: 127.0.0.1
when: mongodb_net_bindip == "0.0.0.0"
- name: Wait when mongodb is started
wait_for:
host: "{{ wait_for_host | default(mongodb_net_bindip) }}"
port: "{{ mongodb_net_port }}"
timeout: 120