- name: 'Install packages: mongodb, mongodb-server' package: name: - mongodb-server - mongodb state: present when: internet_available tags: - download - name: Create 3 dirs for MongoDB file: state: directory path: "{{ item.path }}" owner: mongodb with_items: - { path: '/var/run/mongodb' } - { path: "{{ mongodb_db_path }}" } # == /library/dbdata/mongodb/ - { path: '/var/log/mongodb' } - name: Populate & position /etc/mongod.conf, mongodb.service, /usr/bin/iiab-mongodb-repair-if-no-lock template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: root group: root mode: "{{ item.mode }}" with_items: - { src: 'mongod.conf.j2', dest: "{{ mongodb_conf }}", mode: '0644' } - { src: 'mongodb.service.j2', dest: '/etc/systemd/system/mongodb.service', mode: '0644' } - { src: 'iiab-mongodb-repair-if-no-lock.j2', dest: '/usr/bin/iiab-mongodb-repair-if-no-lock', mode: '0755' } - name: Enable & Restart 'mongodb' systemd service if mongodb_enabled, incl daemon-reload (in case mongodb.service changed?) systemd: name: mongodb enabled: yes state: restarted daemon_reload: yes when: mongodb_enabled - name: Disable 'mongodb' service, if not mongodb_enabled systemd: name: mongodb enabled: no state: stopped when: not mongodb_enabled - name: Add 'mongodb' variable values to {{ iiab_ini_file }} ini_file: path: "{{ iiab_ini_file }}" 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 }}"