mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
73 lines
2.1 KiB
YAML
73 lines
2.1 KiB
YAML
- name: Install mongodb required packages
|
|
package: name={{ item }}
|
|
state=present
|
|
with_items:
|
|
- mongodb-server
|
|
- mongodb
|
|
when: internet_available
|
|
tags:
|
|
- download
|
|
|
|
- name: create the data directory for mongodb
|
|
file: state=directory
|
|
path={{ item.path }}
|
|
owner=mongodb
|
|
with_items:
|
|
- { path: '/var/run/mongodb' }
|
|
- { path: '/library/dbdata/mongodb' }
|
|
- { path: '/var/log/mongodb' }
|
|
|
|
- name: Create systemd files
|
|
template: src={{ item.src }}
|
|
dest={{ item.dest }}
|
|
owner=root
|
|
group=root
|
|
mode=0644
|
|
with_items:
|
|
- { src: 'mongodb.service' , dest: '/etc/systemd/system/' }
|
|
- { src: 'mongodb' , dest: '/etc/sysconfig/'}
|
|
- { src: 'mongod.conf' , dest: '/etc/mongod.conf'}
|
|
- { src: 'mongod.conf' , dest: '/etc/mongodb.conf'}
|
|
|
|
- name: enable services
|
|
service: name={{ item.name }}
|
|
enabled=yes
|
|
state=restarted
|
|
with_items:
|
|
- { name: mongodb }
|
|
when: mongodb_enabled
|
|
|
|
- name: disable services
|
|
service: name={{ item.name }}
|
|
enabled=no
|
|
state=stopped
|
|
with_items:
|
|
- { name: mongodb }
|
|
when: not mongodb_enabled
|
|
|
|
# See https://github.com/iiab/iiab/issues/254 for other attempts to eliminate
|
|
# these 256MB files. Brute Force Idea: rm /var/lib/mongodb/journal/prealloc.*
|
|
- name: find /var/lib/mongodb/prealloc.* files to delete
|
|
find:
|
|
paths: /var/lib/mongodb/journal
|
|
patterns: prealloc.*
|
|
register: files_to_delete
|
|
|
|
- name: delete prealloc files
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: absent
|
|
with_items: "{{ files_to_delete.files }}"
|
|
|
|
- name: add mongodb to service list
|
|
ini_file: dest="{{ service_filelist }}"
|
|
section=mongodb
|
|
option="{{ item.option }}"
|
|
value="{{ item.value }}"
|
|
with_items:
|
|
- option: name
|
|
value: MongoDB
|
|
- option: description
|
|
value: '"MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling."'
|
|
- option: enabled
|
|
value: "{{ mongodb_enabled }}"
|