Saltstack Official MongoDB Formula

2.6KB

=======
MongoDB
=======

MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database. Written in C++.

Available states
================

.. contents::
:local:

``mongodb.server``
--------------------

Setup MongoDB server

Available metadata
==================

.. contents::
:local:

``metadata.mongodb.server.single``
----------------------------------

Single-node MongoDB setup

``metadata.mongodb.server.cluster``
-----------------------------------

Clustered MongoDB setup

Configuration parameters
========================


Example reclass
===============

Setup MongoDB with database for ceilometer.

.. code-block:: yaml

classes:
- service.mongodb.server.cluster
parameters:
_param:
mongodb_server_replica_set: ceilometer
mongodb_ceilometer_password: cloudlab
mongodb_admin_password: cloudlab
mongodb_shared_key: xxx
mongodb:
server:
database:
ceilometer:
enabled: true
password: ${_param:mongodb_ceilometer_password}
users:
- name: ceilometer
password: ${_param:mongodb_ceilometer_password}

Sample pillars
==============

Simple single server

.. code-block:: yaml

mongodb:
server:
enabled: true
bind:
address: 0.0.0.0
port: 27017
admin:
username: admin
password: magicunicorn
database:
dbname:
enabled: true
encoding: 'utf8'
users:
- name: 'username'
password: 'password'

Cluster of 3 nodes

.. code-block:: yaml

mongodb:
server:
enabled: true
logging:
verbose: false
logLevel: 1
oplogLevel: 0
admin:
user: admin
password: magicunicorn
master: mongo01
members:
- host: 192.168.1.11
priority: 2
- host: 192.168.1.12
- host: 192.168.1.13
replica_set: default
shared_key: magicunicorn

It's possible that first Salt run on master node won't pass correctly before
all slave nodes are up and ready.
Simply run salt again on master node to setup cluster, databases and users.

To check cluster status, execute following:

.. code-block:: bash

mongo 127.0.0.1:27017/admin -u admin -p magicunicorn --eval "rs.status()"

Read more
=========

* http://docs.mongodb.org/manual/
* http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
* https://www.linode.com/docs/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise