forked from ISTI-ansible-roles/ansible-roles
100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
---
|
|
- name: Install the mongodb apt key
|
|
#apt_key: id=7F0CEB10 state=present
|
|
raw: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
|
|
when: mongodb_install_from_external_repo
|
|
tags: mongodb
|
|
|
|
- name: Install the mongodb repository
|
|
copy: content="deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" dest=/etc/apt/sources.list.d/mongodb.list owner=root group=root mode=044
|
|
when: mongodb_install_from_external_repo
|
|
register: external_repo
|
|
tags: mongodb
|
|
|
|
- name: Update the apt cache
|
|
apt: update_cache=yes
|
|
when: ( external_repo | changed )
|
|
ignore_errors: True
|
|
tags: mongodb
|
|
|
|
- name: Install the latest version of mongodb server
|
|
apt: pkg={{ item }} state=latest
|
|
with_items:
|
|
- mongodb-10gen
|
|
when:
|
|
- mongodb_install_from_external_repo
|
|
- mongodb_install_packages
|
|
- mongodb_latest_version
|
|
tags: mongodb
|
|
|
|
- name: Install the mongodb-10gen server
|
|
apt: pkg={{ item }}={{ mongodb_specific_version }} state=present
|
|
with_items:
|
|
- mongodb-10gen
|
|
when:
|
|
- mongodb_install_from_external_repo
|
|
- mongodb_install_packages
|
|
- not mongodb_latest_version
|
|
# - not mongodb-org_version
|
|
tags: mongodb
|
|
|
|
#- name: Install the mongodb-org server
|
|
# apt: pkg={{ item }}={{ mongodb_specific_version }} state=present
|
|
# with_items:
|
|
# - mongodb-org
|
|
# - mongodb-org-server
|
|
# - mongodb-org-shell
|
|
# - mongodb-org-mongos
|
|
# - mongodb-org-tools
|
|
# when:
|
|
# - mongodb_install_from_external_repo
|
|
# - mongodb_install_packages
|
|
# - not mongodb_latest_version
|
|
# - mongodb-org_version
|
|
# tags: mongodb
|
|
|
|
- name: Install the mongodb server
|
|
apt: pkg={{ item }} state=installed
|
|
with_items:
|
|
- mongodb-server
|
|
when:
|
|
- not mongodb_install_from_external_repo
|
|
- mongodb_install_packages
|
|
tags: mongodb
|
|
|
|
- name: Install the mongodb defaults file
|
|
copy: content="ENABLE_MONGODB={{ mongodb_start_server }}" dest=/etc/default/mongodb owner=root group=root mode=0444
|
|
when: mongodb_install_conf
|
|
tags: mongodb
|
|
|
|
- name: Create the mongodb db directory
|
|
file: dest={{ mongodb_dbpath }} state=directory owner={{ mongodb_user }} group={{ mongodb_group }} mode=0755
|
|
when: mongodb_install_conf
|
|
tags: mongodb
|
|
|
|
- name: Create the mongodb log directory
|
|
file: dest={{ mongodb_logdir }} state=directory owner={{ mongodb_user }} group={{ mongodb_group }} mode=0755
|
|
when: mongodb_install_conf
|
|
tags: mongodb
|
|
|
|
- name: Install the mongodb 2.4 configuration
|
|
template: src=mongodb-2.4.conf.j2 dest=/etc/mongodb.conf owner=root group=root mode=0444
|
|
when: ( mongodb_start_server is defined ) and ( mongodb_start_server == 'yes' ) and ( mongodb_install_conf )
|
|
notify: Restart mongodb
|
|
tags: mongodb
|
|
|
|
- name: Install the cron job that manages log files rotation
|
|
template: src=mongo_log_rotate.sh.j2 dest=/etc/cron.daily/mongo_log_rotate owner=root group=root mode=0555
|
|
tags: mongodb
|
|
|
|
- name: Ensure mongodb is started
|
|
service: name=mongodb state=started enabled=yes
|
|
when: ( mongodb_start_server is defined ) and ( mongodb_start_server == 'yes' ) and ( mongodb_install_conf )
|
|
tags: mongodb
|
|
|
|
- name: Ensure mongodb is stopped and disabled
|
|
service: name=mongodb state=stopped enabled=no
|
|
when: ( mongodb_start_server is defined ) and ( mongodb_start_server == 'no' ) and ( mongodb_install_conf )
|
|
tags: mongodb
|
|
|