ansible-role-mongodb/tasks/configure.yml
Ruben Laguna 705ea295b3 Ensure service is started
Since the service could have been stopped manually (outside Ansible) we should ensure that the service is started before waiting for the port to come up.
2016-05-09 22:06:37 +02:00

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