- name: Set mongodb_user user for redhat set_fact: mongodb_user: "mongod" when: ansible_os_family == "RedHat" - name: Create directories for mongod processes file: path: "{{ remote_tmp_dir }}/mongod{{ item }}" state: directory owner: "{{ mongodb_user }}" group: "{{ mongodb_user }}" mode: 0755 recurse: yes with_items: "{{ mongodb_nodes }}" - name: Create keyfile copy: dest: "{{ remote_tmp_dir }}/my.key" content: | fd2CUrbXBJpB4rt74A6F owner: "{{ mongodb_user }}" group: "{{ mongodb_user }}" mode: 0600 when: mongod_auth == True - name: Spawn mongod process without auth command: mongod --shardsvr --smallfiles {{ mongod_storage_engine_opts }} --dbpath mongod{{ item }} --port {{ item }} --replSet {{ current_replicaset }} --logpath mongod{{ item }}/log.log --fork args: chdir: "{{ remote_tmp_dir }}" with_items: "{{ mongodb_nodes | sort }}" when: mongod_auth == False - name: Spawn mongod process with auth command: mongod --shardsvr --smallfiles {{ mongod_storage_engine_opts }} --dbpath mongod{{ item }} --port {{ item }} --replSet {{ current_replicaset }} --logpath mongod{{ item }}/log.log --fork --auth --keyFile my.key args: chdir: "{{ remote_tmp_dir }}" with_items: "{{ mongodb_nodes | sort }}" when: mongod_auth == True ignore_errors: yes - name: Wait for mongod to start responding wait_for: port: "{{ item }}" with_items: "{{ mongodb_nodes }}"