|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- {%- from "mongodb/map.jinja" import server with context %}
-
- {%- if server.get('enabled', False) %}
-
- mongodb_service_running:
- service.running:
- - name: {{ server.service }}
- - enable: true
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
-
- {%- if server.members is defined and server.master == pillar.linux.system.name %}
-
- /var/tmp/mongodb_cluster.js:
- file.managed:
- - source: salt://mongodb/files/cluster.js
- - template: jinja
- - mode: 600
- - user: root
- - require:
- - service: mongodb_service_running
-
- mongodb_setup_cluster:
- cmd.run:
- - name: 'mongo localhost:27017 /var/tmp/mongodb_cluster.js && mongo localhost:27017 --quiet --eval "rs.conf()" | grep -i object -q'
- - unless: 'mongo localhost:27017 --quiet --eval "rs.conf()" | grep -i object -q'
- - require:
- - service: mongodb_service_running
- - file: /var/tmp/mongodb_cluster.js
-
- {%- endif %}
-
- {%- if server.members is not defined or server.master == pillar.linux.system.name %}
-
- {%- if server.authorization.get('enabled', False) %}
- /var/tmp/mongodb_user.js:
- file.managed:
- - source: salt://mongodb/files/user.js
- - template: jinja
- - mode: 600
- - user: root
-
- mongodb_change_root_password:
- cmd.run:
- - name: 'mongo localhost:27017/admin /var/tmp/mongodb_user.js && touch {{ server.lock_dir }}/mongodb_password_changed'
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
- - require:
- - file: /var/tmp/mongodb_user.js
- - service: mongodb_service_running
- - creates: {{ server.lock_dir }}/mongodb_password_changed
-
- {%- for database_name, database in server.get('database', {}).iteritems() %}
-
- /var/tmp/mongodb_user_{{ database_name }}.js:
- file.managed:
- - source: salt://mongodb/files/user_role.js
- - template: jinja
- - mode: 600
- - user: root
- - defaults:
- database_name: {{ database_name }}
-
- mongodb_{{ database_name }}_fix_role:
- cmd.run:
- - name: 'mongo localhost:27017/admin -u admin -p {{ server.admin.password }} /var/tmp/mongodb_user_{{ database_name }}.js && touch {{ server.lock_dir }}/mongodb_user_{{ database_name }}_created'
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
- - require:
- - file: /var/tmp/mongodb_user_{{ database_name }}.js
- - service: mongodb_service_running
- - creates: {{ server.lock_dir }}/mongodb_user_{{ database_name }}_created
- {%- if server.members is defined %}
- require:
- - cmd: mongodb_setup_cluster
- {%- endif %}
-
- {%- endfor %}
-
- {%- endif %}
-
- {%- endif %}
-
- {%- endif %}
|