Merge branch 'release/1.3.0'
This commit is contained in:
commit
56bc464a4d
13
.travis.yml
13
.travis.yml
|
@ -4,6 +4,7 @@ python: "2.7"
|
|||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq python-apt python-pycurl
|
||||
- sudo apt-get remove --purge -y mongodb-*
|
||||
install:
|
||||
- pip install ansible>=1.6.0
|
||||
script:
|
||||
|
@ -16,11 +17,11 @@ script:
|
|||
- ansible-playbook -i inventory test.yml --connection=local --sudo
|
||||
|
||||
# Second run Idempotence test
|
||||
# - >
|
||||
# ansible-playbook -i inventory test.yml --connection=local --sudo
|
||||
# | grep -q 'changed=0.*failed=0'
|
||||
# && (echo 'Idempotence test: pass' && exit 0)
|
||||
# || (echo 'Idempotence test: fail' && exit 1)
|
||||
- >
|
||||
ansible-playbook -i inventory test.yml --connection=local --sudo
|
||||
| grep -q 'changed=0.*failed=0'
|
||||
&& (echo 'Idempotence test: pass' && exit 0)
|
||||
|| (echo 'Idempotence test: fail' && exit 1)
|
||||
|
||||
# Check for mongodb is running
|
||||
- ps -ef | grep [m]ongod || exit 1
|
||||
# - ps -ef | grep [m]ongod || exit 1
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Contributors:
|
||||
|
||||
* Kirill Klenov (http://klen.github.io/)
|
||||
* Guillaume Dedrie (https://github.com/guillaumededrie)
|
42
README.md
42
README.md
|
@ -11,29 +11,35 @@ Ansible role which manage [MongoDB](http://www.mongodb.org/)
|
|||
#### Variables
|
||||
|
||||
```yaml
|
||||
|
||||
mongodb_enabled: yes
|
||||
mongodb_packages:
|
||||
- python-selinux
|
||||
- python-pymongo
|
||||
- mongodb-10gen
|
||||
- mongodb-org
|
||||
|
||||
mongodb_conf:
|
||||
auth: "false"
|
||||
bind_ip: 127.0.0.1
|
||||
cpu: "true"
|
||||
dbpath: /var/lib/mongodb/
|
||||
# diaglog: 0 # deprecated
|
||||
logappend: "true"
|
||||
logpath: /var/log/mongodb/mongod.log
|
||||
noauth: "true"
|
||||
nohints: "false"
|
||||
nohttpinterface: "false"
|
||||
nojournal: "true"
|
||||
noprealloc: "false"
|
||||
noscripting: "false"
|
||||
notablescan: "false"
|
||||
objcheck: "false"
|
||||
port: 27017
|
||||
quota: "false"
|
||||
# replSet: "" # Set for enable replication
|
||||
verbose: "true"
|
||||
vvvv: "true"
|
||||
|
||||
# Configuration
|
||||
mongodb_dbpath: /var/lib/mongodb
|
||||
mongodb_logpath: /var/log/mongodb/mongodb.log
|
||||
mongodb_port: 27017
|
||||
mongodb_nojournal: true
|
||||
mongodb_cpu: true
|
||||
mongodb_verbose: true
|
||||
mongodb_quota: false
|
||||
mongodb_auth: false
|
||||
mongodb_objcheck: false
|
||||
mongodb_diaglog: 0
|
||||
mongodb_nohints: false
|
||||
mongodb_nohttpinterface: false
|
||||
mongodb_noscripting: false
|
||||
mongodb_notablescan: false
|
||||
mongodb_noprealloc: false
|
||||
mongodb_replSet: "" # Set for enable replication
|
||||
|
||||
# Log rotation
|
||||
mongodb_logrotate: yes # Rotate mongodb logs.
|
||||
|
|
|
@ -6,23 +6,28 @@ mongodb_packages:
|
|||
- python-pymongo
|
||||
- mongodb-org
|
||||
|
||||
# Configuration
|
||||
mongodb_dbpath: /var/lib/mongodb
|
||||
mongodb_logpath: /var/log/mongodb/mongod.log
|
||||
mongodb_port: 27017
|
||||
mongodb_nojournal: true
|
||||
mongodb_cpu: true
|
||||
mongodb_verbose: true
|
||||
mongodb_quota: false
|
||||
mongodb_auth: false
|
||||
mongodb_objcheck: false
|
||||
mongodb_diaglog: 0
|
||||
mongodb_nohints: false
|
||||
mongodb_nohttpinterface: false
|
||||
mongodb_noscripting: false
|
||||
mongodb_notablescan: false
|
||||
mongodb_noprealloc: false
|
||||
mongodb_replSet: "" # Set for enable replication
|
||||
mongodb_conf:
|
||||
auth: "false"
|
||||
bind_ip: 127.0.0.1
|
||||
cpu: "true"
|
||||
dbpath: /var/lib/mongodb/
|
||||
# diaglog: 0 # deprecated
|
||||
logappend: "true"
|
||||
logpath: /var/log/mongodb/mongod.log
|
||||
noauth: "true"
|
||||
nohints: "false"
|
||||
nohttpinterface: "false"
|
||||
nojournal: "true"
|
||||
noprealloc: "false"
|
||||
noscripting: "false"
|
||||
notablescan: "false"
|
||||
objcheck: "false"
|
||||
port: 27017
|
||||
quota: "false"
|
||||
# replSet: "" # Set for enable replication
|
||||
verbose: "true"
|
||||
vvvv: "true"
|
||||
|
||||
|
||||
# Log rotation
|
||||
mongodb_logrotate: yes # Rotate mongodb logs.
|
||||
|
|
|
@ -11,5 +11,8 @@ galaxy_info:
|
|||
- name: Ubuntu
|
||||
versions:
|
||||
- all
|
||||
- name: Debian
|
||||
versions:
|
||||
- wheezy
|
||||
categories:
|
||||
- database:nosql
|
||||
|
|
|
@ -3,8 +3,13 @@
|
|||
- name: Add APT key
|
||||
apt_key: url=http://docs.mongodb.org/10gen-gpg-key.asc id=7F0CEB10
|
||||
|
||||
- name: Add APT repository
|
||||
- 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'
|
||||
|
||||
- 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'
|
||||
|
||||
- name: Install mongodb-org
|
||||
apt: pkg={{item}}
|
||||
|
|
|
@ -5,5 +5,6 @@
|
|||
|
||||
- name: Ensure mongodb is started
|
||||
service: name=mongod state=started
|
||||
changed_when: False
|
||||
|
||||
- include: configure.yml
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# This file was generated by Ansible for {{ ansible_fqdn }}
|
||||
# Do NOT modify this file by hand!
|
||||
|
||||
{{mongodb_logpath}} {
|
||||
{% for option in mongodb_logrotate_options %}
|
||||
{{ mongodb_conf.logpath }} {
|
||||
{% for option in mongodb_logrotate_options %}
|
||||
{{ option }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
}
|
||||
|
|
|
@ -1,94 +1,5 @@
|
|||
# mongodb.conf
|
||||
# {{ ansible_managed }}
|
||||
|
||||
# This file was generated by Ansible for {{ ansible_fqdn }}
|
||||
# Do NOT modify this file by hand!
|
||||
|
||||
# Where to store the data.
|
||||
|
||||
# Note: if you run mongodb as a non-root user (recommended) you may
|
||||
# need to create and set permissions for this directory manually,
|
||||
# e.g., if the parent directory isn't mutable by the mongodb user.
|
||||
dbpath={{mongodb_dbpath}}
|
||||
|
||||
#where to log
|
||||
logpath={{mongodb_logpath}}
|
||||
|
||||
logappend=true
|
||||
|
||||
port = {{mongodb_port}}
|
||||
|
||||
# Disables write-ahead journaling
|
||||
nojournal = {{'true' if mongodb_nojournal else 'false'}}
|
||||
|
||||
# Enables periodic logging of CPU utilization and I/O wait
|
||||
cpu = {{'true' if mongodb_cpu else 'false'}}
|
||||
|
||||
# Verbose logging output.
|
||||
verbose = {{'true' if mongodb_verbose else 'false'}}
|
||||
|
||||
# Enable db quota management
|
||||
quota = {{'true' if mongodb_quota else 'false'}}
|
||||
|
||||
# Turn on/off security. Off is currently the default
|
||||
{% if mongodb_auth %}
|
||||
auth = true
|
||||
{% else %}
|
||||
noauth = true
|
||||
{% endif %}
|
||||
|
||||
# Inspect all client data for validity on receipt (useful for
|
||||
# developing drivers)
|
||||
objcheck = {{'true' if mongodb_objcheck else 'false'}}
|
||||
|
||||
# Set oplogging level where n is
|
||||
# 0=off (default)
|
||||
# 1=W
|
||||
# 2=R
|
||||
# 3=both
|
||||
# 7=W+some reads
|
||||
diaglog = {{mongodb_diaglog}}
|
||||
|
||||
# Ignore query hints
|
||||
nohints = {{'true' if mongodb_nohints else 'false'}}
|
||||
|
||||
# Disable the HTTP interface (Defaults to localhost:28017).
|
||||
nohttpinterface = {{'true' if mongodb_nohttpinterface else 'false'}}
|
||||
|
||||
# Turns off server-side scripting. This will result in greatly limited
|
||||
# functionality
|
||||
noscripting = {{'true' if mongodb_noscripting else 'false'}}
|
||||
|
||||
# Turns off table scans. Any query that would do a table scan fails.
|
||||
notablescan = {{'true' if mongodb_notablescan else 'false'}}
|
||||
|
||||
# Disable data file preallocation.
|
||||
noprealloc = {{'true' if mongodb_noprealloc else 'false'}}
|
||||
|
||||
# Specify .ns file size for new databases.
|
||||
# nssize = <size>
|
||||
|
||||
# Accout token for Mongo monitoring server.
|
||||
#mms-token = <token>
|
||||
|
||||
# Server name for Mongo monitoring server.
|
||||
#mms-name = <server-name>
|
||||
|
||||
# Ping interval for Mongo monitoring server.
|
||||
#mms-interval = <seconds>
|
||||
|
||||
# Replication Options
|
||||
|
||||
# in master/slave replicated mongo databases, specify here whether
|
||||
# this is a slave or master
|
||||
#slave = true
|
||||
#source = master.example.com
|
||||
# Slave only: specify a single database to replicate
|
||||
#only = master.example.com
|
||||
# or
|
||||
#master = true
|
||||
#source = slave.example.com
|
||||
|
||||
# in replica set configuration, specify the name of the replica set
|
||||
{% if mongodb_replSet != "" %}
|
||||
# replSet = setname
|
||||
{% endif %}
|
||||
{% for k, v in mongodb_conf.iteritems()|sort %}
|
||||
{{ k }} = {{ v }}
|
||||
{% endfor %}
|
||||
|
|
Loading…
Reference in New Issue