Multiple changes for linting warnings
+ propert handling of mongodb_version variable
This commit is contained in:
parent
5ee8162161
commit
606210c767
|
@ -70,9 +70,8 @@ mongodb_security_keyfile: /etc/mongodb-keyfile # Specify path to keyfile with pa
|
|||
mongodb_storage_dbpath: /data/db # Directory for datafiles
|
||||
mongodb_storage_dirperdb: false # Use one directory per DB
|
||||
|
||||
# The storage engine for the mongod database. Available values:
|
||||
# 'mmapv1', 'wiredTiger'
|
||||
mongodb_storage_engine: "{{ 'mmapv1' if mongodb_version[0:3] == '3.0' else 'wiredTiger' }}"
|
||||
# The storage engine for the mongod database
|
||||
mongodb_storage_engine: "wiredTiger"
|
||||
# mmapv1 specific options
|
||||
mongodb_storage_quota_enforced: false # Limits each database to a certain number of files
|
||||
mongodb_storage_quota_maxfiles: 8 # Number of quota files per DB
|
||||
|
|
|
@ -18,8 +18,8 @@ mongodb_manage_service: true
|
|||
mongodb_disable_transparent_hugepages: false
|
||||
|
||||
mongodb_user: "{{ 'mongod' if ('RedHat' == ansible_os_family) else 'mongodb' }}"
|
||||
mongodb_uid:
|
||||
mongodb_gid:
|
||||
mongodb_uid: ""
|
||||
mongodb_gid: ""
|
||||
mongodb_daemon_name: "{{ 'mongod' if ('mongodb-org' in mongodb_package) else 'mongodb' }}"
|
||||
|
||||
## net Options
|
||||
|
@ -29,8 +29,8 @@ mongodb_net_ipv6: false # Enable IPv6 support (disabled
|
|||
mongodb_net_maxconns: 65536 # Max number of simultaneous connections
|
||||
mongodb_net_port: 27017 # Specify port number
|
||||
mongodb_net_ssl: disabled # Enable or disable ssl connections
|
||||
mongodb_net_ssl_mode: # Set the ssl mode (RequireSSL / preferSSL / AllowSSL / disabled)
|
||||
mongodb_net_ssl_pemfile: # Location of the pemfile to use for ssl
|
||||
mongodb_net_ssl_mode: "" # Set the ssl mode (RequireSSL / preferSSL / AllowSSL / disabled)
|
||||
mongodb_net_ssl_pemfile: "" # Location of the pemfile to use for ssl
|
||||
|
||||
## processManagement Options
|
||||
# Fork server process
|
||||
|
@ -46,8 +46,7 @@ mongodb_security_keyfile: /etc/mongodb-keyfile # Specify path to keyfile with
|
|||
mongodb_storage_dbpath: /data/db # Directory for datafiles
|
||||
mongodb_storage_dirperdb: false # Use one directory per DB
|
||||
|
||||
# The storage engine for the mongod database. Available values:
|
||||
# 'mmapv1', 'wiredTiger'
|
||||
# The storage engine for the mongod database
|
||||
mongodb_storage_engine: "wiredTiger"
|
||||
# mmapv1 specific options
|
||||
mongodb_storage_quota_enforced: false # Limits each database to a certain number of files
|
||||
|
@ -66,7 +65,7 @@ mongodb_systemlog_logrotate: "rename" # Logro
|
|||
mongodb_systemlog_path: /var/log/mongodb/{{ mongodb_daemon_name }}.log # Log file to send write to instead of stdout
|
||||
|
||||
## replication Options
|
||||
mongodb_replication_replset: # Enable replication <setname>[/<optionalseedhostlist>]
|
||||
mongodb_replication_replset: "" # Enable replication
|
||||
mongodb_replication_replindexprefetch: "all" # specify index prefetching behavior (if secondary) [none|_id_only|all]
|
||||
mongodb_replication_oplogsize: 1024 # specifies a maximum size in megabytes for the replication operation log
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description="Disable transparent hugepages"
|
||||
Before=mongodb.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/opt/disable-transparent-hugepages.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,21 @@
|
|||
[Unit]
|
||||
Description="Disable Transparent Hugepage before MongoDB boots"
|
||||
#WARN: check service name on your system
|
||||
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
|
||||
Before=mongodb.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
|
||||
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
|
||||
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled'
|
||||
ExecStart=-/bin/bash -c 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag'
|
||||
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
|
||||
ExecStart=-/bin/bash -c 'echo 0 > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
|
||||
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag'
|
||||
ExecStart=-/bin/bash -c 'echo no > /sys/kernel/mm/redhat_transparent_hugepage/khugepaged/defrag'
|
||||
|
||||
[Install]
|
||||
#WARN: check service name on your system
|
||||
# If you are using MongoDB Cloud, service name is "mongodb-mms-automation-agent.service"
|
||||
RequiredBy=mongodb.service
|
|
@ -1,5 +1,8 @@
|
|||
---
|
||||
|
||||
- debug:
|
||||
msg: "{{ mongodb_replication_replset }}"
|
||||
|
||||
- name: Create keyFile
|
||||
copy:
|
||||
dest: "{{ mongodb_security_keyfile }}"
|
||||
|
|
|
@ -1,22 +1,15 @@
|
|||
- name: Install disable transparent hugepages helper
|
||||
---
|
||||
- name: Create disable transparent hugepages systemd service file
|
||||
copy:
|
||||
src: disable-transparent-hugepages.sh
|
||||
dest: /opt/disable-transparent-hugepages.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0700
|
||||
|
||||
- name: Create disable transparent hugepages init file
|
||||
copy:
|
||||
src: disable-transparent-hugepages.init
|
||||
dest: /etc/systemd/system/disable-transparent-hugepages.init
|
||||
src: disable-transparent-hugepages.service
|
||||
dest: /etc/systemd/system/disable-transparent-hugepages.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Enable init file
|
||||
- name: Enable disable-transparent-hugepages.service
|
||||
systemd:
|
||||
name: disable-transparent-hugepages
|
||||
daemon-reload: yes
|
||||
enabled: yes
|
||||
daemon-reload: true
|
||||
enabled: true
|
||||
state: started
|
||||
|
|
|
@ -8,16 +8,19 @@
|
|||
src: mongodb.repo.j2
|
||||
dest: /etc/yum.repos.d/mongodb.repo
|
||||
mode: 0644
|
||||
with_items: "{{ mongodb_version[0:3] }}"
|
||||
with_items: "{{ mongodb_major_version }}"
|
||||
when: mongodb_package == 'mongodb-org'
|
||||
|
||||
- name: Install MongoDB and numactl packages
|
||||
- name: Install MongoDB package
|
||||
yum:
|
||||
name:
|
||||
- "{{ mongodb_package }}"
|
||||
- numactl
|
||||
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
|
||||
state: "{{ mongodb_package_state }}"
|
||||
|
||||
- name: Install numactl package
|
||||
yum:
|
||||
name: numactl
|
||||
state: present
|
||||
|
||||
- name: Install PyMongo package
|
||||
yum:
|
||||
name: python-pymongo
|
||||
|
|
|
@ -18,18 +18,17 @@
|
|||
- name: Fail when used wrong mongodb_version variable with Debian Stretch
|
||||
fail:
|
||||
msg: "mongodb_version variable should be '3.6' or '4.0' for Debian Stretch"
|
||||
when: (mongodb_package == 'mongodb-org' and
|
||||
(mongodb_version is not defined
|
||||
or mongodb_repository[mongodb_major_version] is not defined
|
||||
or (mongodb_version != '3.6' and mongodb_version != '4.0'))
|
||||
and ansible_distribution_release == 'stretch')
|
||||
when:
|
||||
- mongodb_package == 'mongodb-org'
|
||||
- (mongodb_major_version != '3.6' and mongodb_major_version != '4.0')
|
||||
- ansible_distribution_release == 'stretch'
|
||||
|
||||
- name: Fail when used wrong mongodb_version variable with Ubuntu 18.04
|
||||
fail:
|
||||
msg: "mongodb_version variable should be '4.0' or else mongodb_package should be 'mongodb' for Ubuntu 18.04"
|
||||
when:
|
||||
- mongodb_package == 'mongodb-org'
|
||||
- mongodb_version != '4.0'
|
||||
- mongodb_major_version != '4.0'
|
||||
- ansible_distribution_release == "bionic"
|
||||
|
||||
- name: Fail when used wrong mongodb_version variable
|
||||
|
@ -42,20 +41,23 @@
|
|||
- name: Add APT repository
|
||||
apt_repository:
|
||||
repo: "{{ mongodb_repository[version_item] }}"
|
||||
update_cache: yes
|
||||
update_cache: true
|
||||
with_items: "{{ mongodb_major_version }}"
|
||||
loop_control:
|
||||
loop_var: version_item
|
||||
when: mongodb_package == 'mongodb-org'
|
||||
|
||||
- name: Install MongoDB and numactl packages
|
||||
- name: Install MongoDB package
|
||||
apt:
|
||||
name:
|
||||
- "{{ mongodb_package }}"
|
||||
- numactl
|
||||
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
|
||||
state: "{{ mongodb_package_state }}"
|
||||
update_cache: true
|
||||
|
||||
- name: Install numactl package
|
||||
apt:
|
||||
name: numactl
|
||||
state: present
|
||||
|
||||
- name: Add systemd configuration if present
|
||||
copy: src=mongodb.service dest=/lib/systemd/system/mongodb.service owner=root group=root mode=0644
|
||||
when: ansible_service_mgr == "systemd"
|
||||
|
|
|
@ -14,16 +14,19 @@
|
|||
src: mongodb.repo.j2
|
||||
dest: /etc/yum.repos.d/mongodb.repo
|
||||
mode: 0644
|
||||
with_items: "{{ mongodb_version[0:3] }}"
|
||||
with_items: "{{ mongodb_major_version }}"
|
||||
when: mongodb_package == 'mongodb-org'
|
||||
|
||||
- name: Install MongoDB package
|
||||
yum:
|
||||
name:
|
||||
- "{{ mongodb_package }}"
|
||||
- numactl
|
||||
name: "{{ mongodb_package }}{% if (mongodb_version | length > 3) %}={{ mongodb_version }}{% endif %}"
|
||||
state: "{{ mongodb_package_state }}"
|
||||
|
||||
- name: Install numactl package
|
||||
yum:
|
||||
name: numactl
|
||||
state: present
|
||||
|
||||
- name: Install PyMongo package
|
||||
yum:
|
||||
name: python-pymongo
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
- name: Include replication configuration
|
||||
include: replication.yml
|
||||
when: mongodb_replication_replset | lenght > 0
|
||||
when: mongodb_replication_replset | length > 0
|
||||
tags: [mongodb]
|
||||
|
||||
- name: Check where admin user already exists
|
||||
|
@ -101,7 +101,7 @@
|
|||
login_host: "{{ mongodb_login_host|default('localhost') }}"
|
||||
with_items:
|
||||
- "{{ mongodb_oplog_users | default([]) }}"
|
||||
when: ( mongodb_replication_replset | lenght > 0
|
||||
when: ( mongodb_replication_replset | length > 0
|
||||
and mongodb_security_authorization == 'enabled'
|
||||
and mongodb_master is defined and mongodb_master )
|
||||
no_log: false
|
||||
|
@ -109,5 +109,5 @@
|
|||
|
||||
- name: Include MMS Agent configuration
|
||||
include: mms-agent.yml
|
||||
when: mongodb_mms_api_key | lenght > 0
|
||||
when: mongodb_mms_api_key | length > 0
|
||||
tags: [mongodb]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[mongodb-org-{{ mongodb_version }}]
|
||||
name=MongoDB {{ mongodb_version }} Repository
|
||||
[mongodb-org-{{ mongodb_major_version }}]
|
||||
name=MongoDB {{ mongodb_major_version }} Repository
|
||||
baseurl={{ mongodb_repository[item] }}
|
||||
{% if mongodb_repository_gpgkey[item] is defined and mongodb_repository_gpgkey[item] != '' %}
|
||||
gpgcheck=1
|
||||
|
|
Loading…
Reference in New Issue