rewrite ansible tasks using YAML parameters

parent 2d198bbe
---
- name: restart mongo
service: name=mongod state=restarted
service:
name: mongod
state: restarted
---
- name: check to see that MongoDB 2.4 is not installed
stat: path=/etc/init.d/mongodb
- name: Check to see that MongoDB 2.4 is not installed
stat:
path: /etc/init.d/mongodb
register: mongodb_needs_upgrade
tags:
- install
- install:base
- name: verify 2.4 not installed
fail: msg="MongoDB 2.4 is currently installed and cannot be safely upgraded in a clustered configuration. Please read http://docs.mongodb.org/manual/release-notes/2.6-upgrade/#upgrade-considerations and upgrade to 2.6."
- name: Verify 2.4 not installed
fail:
msg: "MongoDB 2.4 is currently installed and cannot be safely upgraded in a clustered configuration. Please read http://docs.mongodb.org/manual/release-notes/2.6-upgrade/#upgrade-considerations and upgrade to 2.6."
when: mongodb_needs_upgrade.stat.exists and MONGO_CLUSTERED
tags:
- install
- install:base
- name: remove mongo 2.4 if present
apt: >
pkg=mongodb-10gen
state=absent purge=yes
force=yes
- name: Remove mongo 2.4 if present
apt:
pkg: mongodb-10gen
state: absent
purge: yes
force: yes
when: mongodb_needs_upgrade.stat.exists and not MONGO_CLUSTERED
tags:
- install
- install:base
- name: install python pymongo for mongo_user ansible module
pip: >
name=pymongo state=present
version={{ pymongo_version }} extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
- name: Install python pymongo for mongo_user ansible module
pip:
name: pymongo
state: present
version: "{{ pymongo_version }}"
extra_args: "-i {{ COMMON_PYPI_MIRROR_URL }}"
tags:
- install
- install:base
- name: add the mongodb signing key
apt_key: >
id={{ MONGODB_APT_KEY }}
keyserver={{ MONGODB_APT_KEYSERVER }}
state=present
- name: Add the mongodb signing key
apt_key:
id: "{{ MONGODB_APT_KEY }}"
keyserver: "{{ MONGODB_APT_KEYSERVER }}"
state: present
tags:
- install
- install:base
- name: add the mongodb repo to the sources list
apt_repository: >
repo='{{ MONGODB_REPO }}'
state=present
- name: Add the mongodb repo to the sources list
apt_repository:
repo: "{{ MONGODB_REPO }}"
state: present
tags:
- install
- install:base
- name: install mongo server and recommends
apt: >
pkg=mongodb-org={{ mongo_version }}
state=present install_recommends=yes
force=yes update_cache=yes
- name: Install mongo server and recommends
apt:
name: "mongodb-org={{ mongo_version }}"
state: present
install_recommends: yes
force: yes
update_cache: yes
tags:
- install
- install:base
- name: create mongo dirs
file: >
path="{{ item }}" state=directory
owner="{{ mongo_user }}"
group="{{ mongo_user }}"
- name: Create mongo dirs
file:
path: "{{ item }}"
state: directory
owner: "{{ mongo_user }}"
group: "{{ mongo_user }}"
with_items:
- "{{ mongo_data_dir }}"
- "{{ mongo_dbpath }}"
......@@ -71,83 +79,97 @@
- install
- install:base
- name: stop mongod service
service: name=mongod state=stopped
- name: Stop mongod service
service:
name: mongod
state: stopped
tags:
- manage
- manage:stop
- name: move mongodb to {{ mongo_data_dir }}
command: >
mv /var/lib/mongodb {{ mongo_data_dir}}/.
creates={{ mongo_data_dir }}/mongodb
- name: Move mongodb to {{ mongo_data_dir }}
command: "mv /var/lib/mongodb {{ mongo_data_dir}}/."
args:
creates: "{{ mongo_data_dir }}/mongodb"
tags:
- install
- install:base
- name: copy mongodb key file
copy: >
content="{{ MONGO_CLUSTER_KEY }}"
dest={{ mongo_key_file }}
mode=0600
owner=mongodb
group=mongodb
- name: Copy mongodb key file
copy:
content: "{{ MONGO_CLUSTER_KEY }}"
dest: "{{ mongo_key_file }}"
mode: "0600"
owner: mongodb
group: mongodb
when: MONGO_CLUSTERED
tags:
- install
- install:configuration
- name: copy configuration template
template: src=mongodb.conf.j2 dest=/etc/mongod.conf backup=yes
notify: restart mongo
- name: Copy configuration template
template:
src: "mongodb.conf.j2"
dest: "/etc/mongod.conf"
backup: yes
notify:
- restart mongo
tags:
- install
- install:configuration
- name: start mongo service
service: name=mongod state=started
- name: Start mongo service
service:
name: mongod
state: started
tags:
- manage
- manage:start
- name: wait for mongo server to start
wait_for: port=27017 delay=2
- name: Wait for mongo server to start
wait_for:
port: 27017
delay: 2
tags:
- manage
- manage:start
- name: drop super user script
template: src="create_root.js.j2" dest="/tmp/create_root.js"
- name: Drop super user script
template:
src: "create_root.js.j2"
dest: "/tmp/create_root.js"
when: not MONGO_CLUSTERED
tags:
- install
- install:configuration
- name: create super user with js
shell: >
/usr/bin/mongo admin /tmp/create_root.js
- name: Create super user with js
shell: "/usr/bin/mongo admin /tmp/create_root.js"
when: not MONGO_CLUSTERED
tags:
- install
- install:configuration
- name: delete super user script
file: path=/tmp/create_root.js state=absent
- name: Delete super user script
file:
path: /tmp/create_root.js
state: absent
when: not MONGO_CLUSTERED
tags:
- install
- install:configuration
- name: Create the file to initialize the mongod replica set
template: src=repset_init.js.j2 dest=/tmp/repset_init.js
template:
src: "repset_init.js.j2"
dest: "/tmp/repset_init.js"
when: MONGO_CLUSTERED
tags:
- install
- install:configuration
- name: Initialize the replication set
shell: >
/usr/bin/mongo /tmp/repset_init.js
shell: "/usr/bin/mongo /tmp/repset_init.js"
when: MONGO_CLUSTERED
tags:
- install
......@@ -157,81 +179,72 @@
# file: path=/tmp/repset_init.js state=absent
# when: MONGO_CLUSTERED
- name: create a mongodb user
mongodb_user: >
database={{ item.database }}
login_user={{ MONGO_ADMIN_USER }}
login_password={{ MONGO_ADMIN_PASSWORD }}
name={{ item.user }}
password="{{ item.password }}"
roles={{ item.roles }}
state=present
with_items: MONGO_USERS
- name: Create a mongodb user
mongodb_user:
database: "{{ item.database }}"
login_user: "{{ MONGO_ADMIN_USER }}"
login_password: "{{ MONGO_ADMIN_PASSWORD }}"
name: "{{ item.user }}"
password: "{{ item.password }}"
roles: "{{ item.roles }}"
state: present
with_items: "{{ MONGO_USERS }}"
when: not MONGO_CLUSTERED
tags:
- manage
- manage:app-users
- name: create a mongodb user
mongodb_user: >
database={{ item.database }}
login_user={{ MONGO_ADMIN_USER }}
login_password={{ MONGO_ADMIN_PASSWORD }}
name={{ item.user }}
password="{{ item.password }}"
roles={{ item.roles }}
state=present
replica_set={{ mongo_repl_set }}
with_items: MONGO_USERS
- name: Create a mongodb user
mongodb_user:
database: "{{ item.database }}"
login_user: "{{ MONGO_ADMIN_USER }}"
login_password: "{{ MONGO_ADMIN_PASSWORD }}"
name: "{{ item.user }}"
password: "{{ item.password }}"
roles: "{{ item.roles }}"
state: present
replica_set: "{{ mongo_repl_set }}"
with_items: "{{ MONGO_USERS }}"
when: MONGO_CLUSTERED
tags:
- manage
- manage:app-users
- name: install s3cmd
pip: >
name="s3cmd"
state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
- name: Install s3cmd
pip:
name: "s3cmd"
state: present
extra_args: "-i {{ COMMON_PYPI_MIRROR_URL }}"
when: MONGO_S3_BACKUP
tags:
- install
- install:app-requirements
- name: configure s3cmd
template: >
dest="{{ MONGO_S3_S3CMD_CONFIG }}"
src=mongo-s3-backup-s3cfg.j2
owner=root
group=root
mode=0600
when: MONGO_S3_BACKUP
tags:
- install
- install:configuration
- name: install backup-mongo-to-s3 script
template: >
src=backup-mongo-to-s3.j2
dest=/edx/bin/backup-mongo-to-s3.sh
owner=root
group=root
mode=0700
- name: Configure s3cmd and install backup-mongo-to-s3 script
template:
dest: "{{ item.dest }}"
src: "{{ item.src }}"
owner: root
group: root
mode: "{{ item.mode }}"
when: MONGO_S3_BACKUP
with_items:
- { src: 'mongo-s3-backup-s3cfg.j2', dest: '{{ MONGO_S3_S3CMD_CONFIG }}', mode: '0600' }
- { src: 'backup-mongo-to-s3.j2', dest: '/edx/bin/backup-mongo-to-s3.sh', mode: '0700' }
tags:
- install
- install:configuration
- name: schedule backup-mongo-to-3s crontab
- name: Schedule backup-mongo-to-3s crontab
cron:
name="backup-mongo-to-s3"
job="/edx/bin/backup-mongo-to-s3.sh"
backup=yes
cron_file=backup-mongo-to-s3
user=root
hour="{{ MONGO_S3_BACKUP_HOUR }}"
minute="0"
day="{{ MONGO_S3_BACKUP_DAY }}"
name: "backup-mongo-to-s3"
job: "/edx/bin/backup-mongo-to-s3.sh"
backup: yes
cron_file: backup-mongo-to-s3
user: root
hour: "{{ MONGO_S3_BACKUP_HOUR }}"
minute: "0"
day: "{{ MONGO_S3_BACKUP_DAY }}"
when: MONGO_S3_BACKUP
tags:
- install
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment