Skip to content

Commit 606210c

Browse files
committed
Multiple changes for linting warnings
+ propert handling of mongodb_version variable
1 parent 5ee8162 commit 606210c

11 files changed

+72
-59
lines changed

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ mongodb_security_keyfile: /etc/mongodb-keyfile # Specify path to keyfile with pa
7070
mongodb_storage_dbpath: /data/db # Directory for datafiles
7171
mongodb_storage_dirperdb: false # Use one directory per DB
7272

73-
# The storage engine for the mongod database. Available values:
74-
# 'mmapv1', 'wiredTiger'
75-
mongodb_storage_engine: "{{ 'mmapv1' if mongodb_version[0:3] == '3.0' else 'wiredTiger' }}"
73+
# The storage engine for the mongod database
74+
mongodb_storage_engine: "wiredTiger"
7675
# mmapv1 specific options
7776
mongodb_storage_quota_enforced: false # Limits each database to a certain number of files
7877
mongodb_storage_quota_maxfiles: 8 # Number of quota files per DB

defaults/main.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ mongodb_manage_service: true
1818
mongodb_disable_transparent_hugepages: false
1919

2020
mongodb_user: "{{ 'mongod' if ('RedHat' == ansible_os_family) else 'mongodb' }}"
21-
mongodb_uid:
22-
mongodb_gid:
21+
mongodb_uid: ""
22+
mongodb_gid: ""
2323
mongodb_daemon_name: "{{ 'mongod' if ('mongodb-org' in mongodb_package) else 'mongodb' }}"
2424

2525
## net Options
@@ -29,8 +29,8 @@ mongodb_net_ipv6: false # Enable IPv6 support (disabled
2929
mongodb_net_maxconns: 65536 # Max number of simultaneous connections
3030
mongodb_net_port: 27017 # Specify port number
3131
mongodb_net_ssl: disabled # Enable or disable ssl connections
32-
mongodb_net_ssl_mode: # Set the ssl mode (RequireSSL / preferSSL / AllowSSL / disabled)
33-
mongodb_net_ssl_pemfile: # Location of the pemfile to use for ssl
32+
mongodb_net_ssl_mode: "" # Set the ssl mode (RequireSSL / preferSSL / AllowSSL / disabled)
33+
mongodb_net_ssl_pemfile: "" # Location of the pemfile to use for ssl
3434

3535
## processManagement Options
3636
# Fork server process
@@ -46,8 +46,7 @@ mongodb_security_keyfile: /etc/mongodb-keyfile # Specify path to keyfile with
4646
mongodb_storage_dbpath: /data/db # Directory for datafiles
4747
mongodb_storage_dirperdb: false # Use one directory per DB
4848

49-
# The storage engine for the mongod database. Available values:
50-
# 'mmapv1', 'wiredTiger'
49+
# The storage engine for the mongod database
5150
mongodb_storage_engine: "wiredTiger"
5251
# mmapv1 specific options
5352
mongodb_storage_quota_enforced: false # Limits each database to a certain number of files
@@ -66,7 +65,7 @@ mongodb_systemlog_logrotate: "rename" # Logro
6665
mongodb_systemlog_path: /var/log/mongodb/{{ mongodb_daemon_name }}.log # Log file to send write to instead of stdout
6766

6867
## replication Options
69-
mongodb_replication_replset: # Enable replication <setname>[/<optionalseedhostlist>]
68+
mongodb_replication_replset: "" # Enable replication
7069
mongodb_replication_replindexprefetch: "all" # specify index prefetching behavior (if secondary) [none|_id_only|all]
7170
mongodb_replication_oplogsize: 1024 # specifies a maximum size in megabytes for the replication operation log
7271

files/disable-transparent-hugepages.init

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[Unit]
2+
Description="Disable Transparent Hugepage before MongoDB boots"
3+
#WARN: check service name on your system
4+
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
5+
Before=mongodb.service
6+
7+
[Service]
8+
Type=oneshot
9+
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
10+
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
11+
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled'
12+
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag'
13+
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
14+
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
15+
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
16+
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
17+
18+
[Install]
19+
#WARN: check service name on your system
20+
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
21+
RequiredBy=mongodb.service

tasks/configure.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
---
22

3+
- debug:
4+
msg: "{{ mongodb_replication_replset }}"
5+
36
- name: Create keyFile
47
copy:
58
dest: "{{ mongodb_security_keyfile }}"
Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
1-
- name: Install disable transparent hugepages helper
1+
---
2+
- name: Create disable transparent hugepages systemd service file
23
copy:
3-
src: disable-transparent-hugepages.sh
4-
dest: /opt/disable-transparent-hugepages.sh
5-
owner: root
6-
group: root
7-
mode: 0700
8-
9-
- name: Create disable transparent hugepages init file
10-
copy:
11-
src: disable-transparent-hugepages.init
12-
dest: /etc/systemd/system/disable-transparent-hugepages.init
4+
src: disable-transparent-hugepages.service
5+
dest: /etc/systemd/system/disable-transparent-hugepages.service
136
owner: root
147
group: root
158
mode: 0644
169

17-
- name: Enable init file
10+
- name: Enable disable-transparent-hugepages.service
1811
systemd:
1912
name: disable-transparent-hugepages
20-
daemon-reload: yes
21-
enabled: yes
13+
daemon-reload: true
14+
enabled: true
2215
state: started

tasks/install.amazon.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@
88
src: mongodb.repo.j2
99
dest: /etc/yum.repos.d/mongodb.repo
1010
mode: 0644
11-
with_items: "{{ mongodb_version[0:3] }}"
11+
with_items: "{{ mongodb_major_version }}"
1212
when: mongodb_package == 'mongodb-org'
1313

14-
- name: Install MongoDB and numactl packages
14+
- name: Install MongoDB package
1515
yum:
16-
name:
17-
- "{{ mongodb_package }}"
18-
- numactl
16+
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
1917
state: "{{ mongodb_package_state }}"
2018

19+
- name: Install numactl package
20+
yum:
21+
name: numactl
22+
state: present
23+
2124
- name: Install PyMongo package
2225
yum:
2326
name: python-pymongo

tasks/install.debian.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,17 @@
1818
- name: Fail when used wrong mongodb_version variable with Debian Stretch
1919
fail:
2020
msg: "mongodb_version variable should be '3.6' or '4.0' for Debian Stretch"
21-
when: (mongodb_package == 'mongodb-org' and
22-
(mongodb_version is not defined
23-
or mongodb_repository[mongodb_major_version] is not defined
24-
or (mongodb_version != '3.6' and mongodb_version != '4.0'))
25-
and ansible_distribution_release == 'stretch')
21+
when:
22+
- mongodb_package == 'mongodb-org'
23+
- (mongodb_major_version != '3.6' and mongodb_major_version != '4.0')
24+
- ansible_distribution_release == 'stretch'
2625

2726
- name: Fail when used wrong mongodb_version variable with Ubuntu 18.04
2827
fail:
2928
msg: "mongodb_version variable should be '4.0' or else mongodb_package should be 'mongodb' for Ubuntu 18.04"
3029
when:
3130
- mongodb_package == 'mongodb-org'
32-
- mongodb_version != '4.0'
31+
- mongodb_major_version != '4.0'
3332
- ansible_distribution_release == "bionic"
3433

3534
- name: Fail when used wrong mongodb_version variable
@@ -42,20 +41,23 @@
4241
- name: Add APT repository
4342
apt_repository:
4443
repo: "{{ mongodb_repository[version_item] }}"
45-
update_cache: yes
44+
update_cache: true
4645
with_items: "{{ mongodb_major_version }}"
4746
loop_control:
4847
loop_var: version_item
4948
when: mongodb_package == 'mongodb-org'
5049

51-
- name: Install MongoDB and numactl packages
50+
- name: Install MongoDB package
5251
apt:
53-
name:
54-
- "{{ mongodb_package }}"
55-
- numactl
52+
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
5653
state: "{{ mongodb_package_state }}"
5754
update_cache: true
5855

56+
- name: Install numactl package
57+
apt:
58+
name: numactl
59+
state: present
60+
5961
- name: Add systemd configuration if present
6062
copy: src=mongodb.service dest=/lib/systemd/system/mongodb.service owner=root group=root mode=0644
6163
when: ansible_service_mgr == "systemd"

tasks/install.redhat.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,19 @@
1414
src: mongodb.repo.j2
1515
dest: /etc/yum.repos.d/mongodb.repo
1616
mode: 0644
17-
with_items: "{{ mongodb_version[0:3] }}"
17+
with_items: "{{ mongodb_major_version }}"
1818
when: mongodb_package == 'mongodb-org'
1919

2020
- name: Install MongoDB package
2121
yum:
22-
name:
23-
- "{{ mongodb_package }}"
24-
- numactl
22+
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
2523
state: "{{ mongodb_package_state }}"
2624

25+
- name: Install numactl package
26+
yum:
27+
name: numactl
28+
state: present
29+
2730
- name: Install PyMongo package
2831
yum:
2932
name: python-pymongo

tasks/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
- name: Include replication configuration
2929
include: replication.yml
30-
when: mongodb_replication_replset | lenght > 0
30+
when: mongodb_replication_replset | length > 0
3131
tags: [mongodb]
3232

3333
- name: Check where admin user already exists
@@ -101,13 +101,13 @@
101101
login_host: "{{ mongodb_login_host|default('localhost') }}"
102102
with_items:
103103
- "{{ mongodb_oplog_users | default([]) }}"
104-
when: ( mongodb_replication_replset | lenght > 0
104+
when: ( mongodb_replication_replset | length > 0
105105
and mongodb_security_authorization == 'enabled'
106106
and mongodb_master is defined and mongodb_master )
107107
no_log: false
108108
tags: [mongodb]
109109

110110
- name: Include MMS Agent configuration
111111
include: mms-agent.yml
112-
when: mongodb_mms_api_key | lenght > 0
112+
when: mongodb_mms_api_key | length > 0
113113
tags: [mongodb]

0 commit comments

Comments
 (0)