======= 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