From 8769e8a411764ae2b7d77dcdabc6884ac0415fa6 Mon Sep 17 00:00:00 2001 From: Guillaume Dedrie Date: Mon, 5 Jan 2015 14:37:28 +0100 Subject: [PATCH 1/3] Add possibility for User to install from Official Debian or Ubuntu Repo. Support new variable and due to difference between Debian/Ubuntu repo and MongoDB, daemon and file convention naming are differents. --- README.md | 14 ++++++++------ defaults/main.yml | 14 ++++++++------ handlers/main.yml | 4 ++-- tasks/install.deb.yml | 17 +++++++++++++---- tasks/mongodb.yml | 2 +- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index e0df8cd..ce76851 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,14 @@ Ansible role which manage [MongoDB](http://www.mongodb.org/) ```yaml mongodb_enabled: yes -mongodb_packages: -- python-selinux -- python-pymongo -- mongodb-org +mongodb_from_mongodb_repo: yes # If yes, install using MongoDB repo, else use system default repo + +mongodb_additional_packages: + - python-selinux + - python-pymongo mongodb_user: mongodb +mongodb_daemon_name: "{{ 'mongod' if (mongodb_from_mongodb_repo | bool) else 'mongodb' }}" mongodb_conf_auth: no # Run with security mongodb_conf_bind_ip: 127.0.0.1 # Comma separated list of ip addresses to listen on @@ -31,7 +33,7 @@ mongodb_conf_httpinterface: no # Enable http interface mongodb_conf_ipv6: no # Enable IPv6 support (disabled by default) mongodb_conf_journal: no # Enable journaling mongodb_conf_logappend: yes # Append to logpath instead of over-writing -mongodb_conf_logpath: /var/log/mongodb/mongod.log # Log file to send write to instead of stdout +mongodb_conf_logpath: /var/log/mongodb/{{ mongodb_daemon_name }}.log # Log file to send write to instead of stdout mongodb_conf_maxConns: 1000000 # Max number of simultaneous connections mongodb_conf_noprealloc: no # Disable data file preallocation mongodb_conf_noscripting: no # Disable scripting engine @@ -49,7 +51,7 @@ mongodb_shell: {} # Define mongo shell commands # Syntax: mongodb_shell: # dbname: # - db.setProfilingLevel(1, 50) - + # MMS Agent mongodb_mms_agent_pkg: https://mms.mongodb.com/download/agent/automation/mongodb-mms-automation-agent-manager_1.4.2.783-1_amd64.deb diff --git a/defaults/main.yml b/defaults/main.yml index c8e9090..308a42f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,12 +1,14 @@ --- mongodb_enabled: yes -mongodb_packages: -- python-selinux -- python-pymongo -- mongodb-org +mongodb_from_mongodb_repo: yes # If yes, install using MongoDB repo, else use system default repo + +mongodb_additional_packages: + - python-selinux + - python-pymongo mongodb_user: mongodb +mongodb_daemon_name: "{{ 'mongod' if (mongodb_from_mongodb_repo | bool) else 'mongodb' }}" mongodb_conf_auth: no # Run with security mongodb_conf_bind_ip: 127.0.0.1 # Comma separated list of ip addresses to listen on @@ -17,7 +19,7 @@ mongodb_conf_httpinterface: no # Enable http interface mongodb_conf_ipv6: no # Enable IPv6 support (disabled by default) mongodb_conf_journal: no # Enable journaling mongodb_conf_logappend: yes # Append to logpath instead of over-writing -mongodb_conf_logpath: /var/log/mongodb/mongod.log # Log file to send write to instead of stdout +mongodb_conf_logpath: /var/log/mongodb/{{ mongodb_daemon_name }}.log # Log file to send write to instead of stdout mongodb_conf_maxConns: 1000000 # Max number of simultaneous connections mongodb_conf_noprealloc: no # Disable data file preallocation mongodb_conf_noscripting: no # Disable scripting engine @@ -35,7 +37,7 @@ mongodb_shell: {} # Define mongo shell commands # Syntax: mongodb_shell: # dbname: # - db.setProfilingLevel(1, 50) - + # MMS Agent mongodb_mms_agent_pkg: https://mms.mongodb.com/download/agent/automation/mongodb-mms-automation-agent-manager_1.4.2.783-1_amd64.deb diff --git a/handlers/main.yml b/handlers/main.yml index 753a8b8..c6988fb 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,10 +1,10 @@ --- - name: mongodb reload - service: name=mongod state=reloaded + service: name={{ mongodb_daemon_name }} state=reloaded - name: mongodb restart - service: name=mongod state=restarted + service: name={{ mongodb_daemon_name }} state=restarted - name: mongodb-mms-automation-agent restart service: name=mongodb-mms-automation-agent state=restarted diff --git a/tasks/install.deb.yml b/tasks/install.deb.yml index 0e64a6b..f335c37 100644 --- a/tasks/install.deb.yml +++ b/tasks/install.deb.yml @@ -2,15 +2,24 @@ - name: Add APT key apt_key: url=http://docs.mongodb.org/10gen-gpg-key.asc id=7F0CEB10 + when: mongodb_from_mongodb_repo | bool - name: Add APT repository (Ubuntu) apt_repository: repo='deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' update_cache=yes - when: ansible_distribution == 'Ubuntu' + when: ansible_distribution == 'Ubuntu' and (mongodb_from_mongodb_repo | bool) - name: Add APT repository (Debian) apt_repository: repo='deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' update_cache=yes - when: ansible_distribution == 'Debian' + when: ansible_distribution == 'Debian' and (mongodb_from_mongodb_repo | bool) -- name: Install mongodb-org +- name: Install MongoDB package from MongoDB repo + apt: pkg=mongodb-org state=present + when: mongodb_from_mongodb_repo | bool + +- name: Install MongoDB package from Ubuntu or Debian official repo + apt: pkg=mongodb state=present + when: not (mongodb_from_mongodb_repo | bool) + +- name: Install additional packages apt: pkg={{item}} - with_items: mongodb_packages + with_items: mongodb_additional_packages diff --git a/tasks/mongodb.yml b/tasks/mongodb.yml index b31109a..cca48ed 100644 --- a/tasks/mongodb.yml +++ b/tasks/mongodb.yml @@ -6,7 +6,7 @@ - include: configure.yml - name: Ensure mongodb is started - service: name=mongod state=started enabled=yes + service: name={{ mongodb_daemon_name }} state=started enabled=yes changed_when: False - include: mms-agent.yml From f11f7886f7b41e56708ab1720e0709a09580bce4 Mon Sep 17 00:00:00 2001 From: Kirill Klenov Date: Wed, 7 Jan 2015 14:31:53 +0300 Subject: [PATCH 2/3] Change behaviour --- README.md | 9 +++++---- defaults/main.yml | 9 +++++---- tasks/install.deb.yml | 22 +++++++--------------- vars/Debian.yml | 3 +++ vars/Ubuntu.yml | 3 +++ 5 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 vars/Debian.yml create mode 100644 vars/Ubuntu.yml diff --git a/README.md b/README.md index ce76851..426f354 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,15 @@ Ansible role which manage [MongoDB](http://www.mongodb.org/) ```yaml mongodb_enabled: yes -mongodb_from_mongodb_repo: yes # If yes, install using MongoDB repo, else use system default repo + +mongodb_package: mongodb-org mongodb_additional_packages: - - python-selinux - - python-pymongo +- python-selinux +- python-pymongo mongodb_user: mongodb -mongodb_daemon_name: "{{ 'mongod' if (mongodb_from_mongodb_repo | bool) else 'mongodb' }}" +mongodb_daemon_name: "{{ 'mongod' if ('mongodb-org' == mongodb_package) else 'mongodb' }}" mongodb_conf_auth: no # Run with security mongodb_conf_bind_ip: 127.0.0.1 # Comma separated list of ip addresses to listen on diff --git a/defaults/main.yml b/defaults/main.yml index 308a42f..ac14250 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,14 +1,15 @@ --- mongodb_enabled: yes -mongodb_from_mongodb_repo: yes # If yes, install using MongoDB repo, else use system default repo + +mongodb_package: mongodb-org mongodb_additional_packages: - - python-selinux - - python-pymongo +- python-selinux +- python-pymongo mongodb_user: mongodb -mongodb_daemon_name: "{{ 'mongod' if (mongodb_from_mongodb_repo | bool) else 'mongodb' }}" +mongodb_daemon_name: "{{ 'mongod' if ('mongodb-org' == mongodb_package) else 'mongodb' }}" mongodb_conf_auth: no # Run with security mongodb_conf_bind_ip: 127.0.0.1 # Comma separated list of ip addresses to listen on diff --git a/tasks/install.deb.yml b/tasks/install.deb.yml index f335c37..94485e1 100644 --- a/tasks/install.deb.yml +++ b/tasks/install.deb.yml @@ -1,24 +1,16 @@ --- +- include_vars: "{{ansible_distribution}}.yml" + - name: Add APT key apt_key: url=http://docs.mongodb.org/10gen-gpg-key.asc id=7F0CEB10 - when: mongodb_from_mongodb_repo | bool + when: mongodb_package == 'mongodb-org' -- name: Add APT repository (Ubuntu) - apt_repository: repo='deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' update_cache=yes - when: ansible_distribution == 'Ubuntu' and (mongodb_from_mongodb_repo | bool) +- name: Add APT repository + apt_repository: repo="{{mongodb_repository}}" update_cache=yes -- name: Add APT repository (Debian) - apt_repository: repo='deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' update_cache=yes - when: ansible_distribution == 'Debian' and (mongodb_from_mongodb_repo | bool) - -- name: Install MongoDB package from MongoDB repo - apt: pkg=mongodb-org state=present - when: mongodb_from_mongodb_repo | bool - -- name: Install MongoDB package from Ubuntu or Debian official repo - apt: pkg=mongodb state=present - when: not (mongodb_from_mongodb_repo | bool) +- name: Install MongoDB package + apt: pkg={{mongodb_package}} state=present - name: Install additional packages apt: pkg={{item}} diff --git a/vars/Debian.yml b/vars/Debian.yml new file mode 100644 index 0000000..b01e93f --- /dev/null +++ b/vars/Debian.yml @@ -0,0 +1,3 @@ +--- + +mongodb_repository: deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen diff --git a/vars/Ubuntu.yml b/vars/Ubuntu.yml new file mode 100644 index 0000000..7ac9326 --- /dev/null +++ b/vars/Ubuntu.yml @@ -0,0 +1,3 @@ +--- + +mongodb_repository: deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen From 505f75aa06a1f762a93a9adde0d5088369384ebe Mon Sep 17 00:00:00 2001 From: Kirill Klenov Date: Wed, 7 Jan 2015 14:45:52 +0300 Subject: [PATCH 3/3] =?UTF-8?q?Bump=20version:=202.1.1=20=E2=86=92=202.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index f1b61fd..797b89e 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,6 +1,6 @@ [bumpversion] commit = True -current_version = 2.1.1 +current_version = 2.1.2 tag = True tag_name = {new_version}