Skip to content

Commit 84b9f87

Browse files
committed
Configuration and authentication with custom settings fix
1 parent 60ec802 commit 84b9f87

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

tasks/auth_initialization.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
name: "{{ item.name }}"
1010
password: "{{ item.password }}"
1111
roles: "{{ item.roles }}"
12-
login_host: 127.0.0.1
12+
login_host: "{{ mongodb_listen_iface }}"
1313
with_items:
1414
- {
1515
name: "{{ mongodb_user_admin_name }}",
@@ -25,7 +25,7 @@
2525
name: "{{ item.name }}"
2626
password: "{{ item.password }}"
2727
roles: "{{ item.roles }}"
28-
login_host: 127.0.0.1
28+
login_host: "{{ mongodb_listen_iface }}"
2929
login_user: "{{ mongodb_user_admin_name }}"
3030
login_password: "{{ mongodb_user_admin_password }}"
3131
with_items:
@@ -44,7 +44,7 @@
4444
password: "{{ item.password }}"
4545
roles: "{{ item.roles }}"
4646
replica_set: "{{ mongodb_conf_replSet }}"
47-
login_host: 127.0.0.1
47+
login_host: "{{ mongodb_listen_iface }}"
4848
login_user: "{{ mongodb_user_admin_name }}"
4949
login_password: "{{ mongodb_user_admin_password }}"
5050
with_items:
@@ -56,10 +56,11 @@
5656
state: directory
5757
recurse: yes
5858
path: /etc/ansible/facts.d
59-
when: rootadmin_user_result|changed or useradmin_user_result|changed
59+
when: (ansible_local.mongodb.mongodb.mongodb_login_port is undefined) and (rootadmin_user_result|changed or useradmin_user_result|changed or config_result|changed)
6060

6161
- name: Create facts file for mongodb
6262
copy:
6363
dest: /etc/ansible/facts.d/mongodb.fact
64-
content: "[mongodb]\nmongodb_login_port={{ mongodb_conf_port }}\n\n"
65-
when: rootadmin_user_result|changed or useradmin_user_result|changed
64+
content: "[mongodb]\nmongodb_login_port={{ mongodb_conf_port }}\nmongodb_listen_iface={{ mongodb_conf_bind_ip }}\n"
65+
when: (ansible_local.mongodb.mongodb.mongodb_login_port is undefined) and (rootadmin_user_result|changed or useradmin_user_result|changed or config_result|changed)
66+

tasks/auth_initialization_ald.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
---
12
- name: create administrative user siteUserAdmin port=yes
23
mongodb_user:
34
database: admin
45
name: "{{ item.name }}"
56
password: "{{ item.password }}"
67
roles: "{{ item.roles }}"
7-
login_host: 127.0.0.1
8+
login_host: "{{ mongodb_listen_iface }}"
89
login_port: "{{ ansible_local.mongodb.mongodb.mongodb_login_port }}"
910
with_items:
1011
- {
@@ -19,7 +20,7 @@
1920
name: "{{ item.name }}"
2021
password: "{{ item.password }}"
2122
roles: "{{ item.roles }}"
22-
login_host: 127.0.0.1
23+
login_host: "{{ mongodb_listen_iface }}"
2324
login_port: "{{ ansible_local.mongodb.mongodb.mongodb_login_port }}"
2425
login_user: "{{ mongodb_user_admin_name }}"
2526
login_password: "{{ mongodb_user_admin_password }}"
@@ -30,14 +31,14 @@
3031
roles: "root"
3132
}
3233

33-
- name: create normal users
34+
- name: create normal users port=yes
3435
mongodb_user:
3536
database: "{{ item.database }}"
3637
name: "{{ item.name }}"
3738
password: "{{ item.password }}"
3839
roles: "{{ item.roles }}"
3940
replica_set: "{{ mongodb_conf_replSet }}"
40-
login_host: 127.0.0.1
41+
login_host: "{{ mongodb_listen_iface }}"
4142
login_port: "{{ ansible_local.mongodb.mongodb.mongodb_login_port }}"
4243
login_user: "{{ mongodb_user_admin_name }}"
4344
login_password: "{{ mongodb_user_admin_password }}"

tasks/configure.yml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
---
2+
- name: Register default MongoDB listen interface
3+
set_fact: mongodb_listen_iface=127.0.0.1
4+
when: ansible_local.mongodb.mongodb.mongodb_listen_iface is undefined
5+
6+
- name: Register MongoDB listen interface
7+
set_fact: mongodb_listen_iface={{ ansible_local.mongodb.mongodb.mongodb_listen_iface }}
8+
when: ansible_local.mongodb.mongodb.mongodb_listen_iface is defined
9+
210

311
- name: Create keyFile
412
copy:
@@ -17,8 +25,8 @@
1725
service: name={{ mongodb_daemon_name }} state=started enabled=yes
1826

1927
- name: wait MongoDB port is listening
20-
wait_for: host="{{ mongodb_conf_bind_ip }}"port="{{ mongodb_conf_port }}" delay=10 timeout=60 state=started
21-
when: "'systemd' in systemd.stdout"
28+
wait_for: host="{{ mongodb_listen_iface }}" port="{{ mongodb_conf_port }}" delay=5 timeout=60 state=started
29+
#when: "'systemd' in systemd.stdout" #TODO Why only with systemd?
2230

2331
- include: auth_initialization.yml
2432
when: mongodb_conf_auth
@@ -29,11 +37,17 @@
2937
- name: Configure database directory
3038
file: state=directory path={{ mongodb_conf_dbpath }} owner={{mongodb_user}} group={{mongodb_user}} mode=0755
3139

32-
- name: Configure logs
33-
file: state=file path={{ mongodb_conf_logpath }} owner={{mongodb_user}} group={{mongodb_user}} mode=0644
40+
- name: Create log dir if missing
41+
file: state=directory recurse=yes dest={{ mongodb_conf_logpath|dirname }} owner={{ mongodb_user }} group={{mongodb_user}} mode=0755
42+
43+
- name: Create log if missing
44+
file: state=touch dest={{ mongodb_conf_logpath }} owner={{ mongodb_user }} group={{mongodb_user}} mode=0755
45+
46+
- name: Configure log file
47+
file: state=file path={{ mongodb_conf_logpath }} owner={{mongodb_user}} group={{mongodb_user}} mode=0755
3448

3549
- name: Configure mongodb
36-
template: src=mongod.conf.j2 dest=/etc/mongod.conf owner=root group=root mode=0644
50+
template: src=mongod.conf.j2 dest=/etc/mongod.conf backup=yes owner=root group=root mode=0644
3751
register: config_result
3852

3953
- name: mongodb restart

0 commit comments

Comments
 (0)