mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- name: Install mongodb required packages
 | 
						|
  package: name={{ item }}
 | 
						|
           state=present
 | 
						|
  with_items:
 | 
						|
    - mongodb-server
 | 
						|
    - mongodb
 | 
						|
  when: internet_available
 | 
						|
  tags:
 | 
						|
    - download
 | 
						|
 | 
						|
- name: create the data directory for mongodb
 | 
						|
  file: state=directory
 | 
						|
        path={{ item.path }}
 | 
						|
        owner=mongodb
 | 
						|
  with_items:
 | 
						|
     - { path: '/var/run/mongodb' }
 | 
						|
     - { path: '/library/dbdata/mongodb' }
 | 
						|
     - { path: '/var/log/mongodb' }
 | 
						|
 | 
						|
- name: Create systemd files
 | 
						|
  template: src={{ item.src }}
 | 
						|
            dest={{ item.dest }}
 | 
						|
            owner=root
 | 
						|
            group=root
 | 
						|
            mode=0644
 | 
						|
  with_items:
 | 
						|
     - { src: 'mongodb.service' , dest: '/etc/systemd/system/' }
 | 
						|
     - { src: 'mongodb' , dest: '/etc/sysconfig/'}
 | 
						|
     - { src: 'mongod.conf' , dest: '/etc/mongod.conf'}
 | 
						|
     - { src: 'mongod.conf' , dest: '/etc/mongodb.conf'}
 | 
						|
 | 
						|
- name: enable services
 | 
						|
  service: name={{ item.name }}
 | 
						|
           enabled=yes
 | 
						|
           state=restarted
 | 
						|
  with_items:
 | 
						|
      - { name: mongodb }
 | 
						|
  when: mongodb_enabled
 | 
						|
 | 
						|
- name: disable services
 | 
						|
  service: name={{ item.name }}
 | 
						|
           enabled=no
 | 
						|
           state=stopped
 | 
						|
  with_items:
 | 
						|
      - { name: mongodb }
 | 
						|
  when: not mongodb_enabled
 | 
						|
 | 
						|
# See https://github.com/iiab/iiab/issues/254 for other attempts to eliminate
 | 
						|
# these 256MB files. Brute Force Idea: rm /var/lib/mongodb/journal/prealloc.*
 | 
						|
- name: find /var/lib/mongodb/prealloc.* files to delete
 | 
						|
  find:
 | 
						|
    paths: /var/lib/mongodb/journal
 | 
						|
    patterns: prealloc.*
 | 
						|
  register: files_to_delete
 | 
						|
 | 
						|
- name: delete prealloc files
 | 
						|
  file:
 | 
						|
    path: "{{ item.path }}"
 | 
						|
    state: absent
 | 
						|
  with_items: "{{ files_to_delete.files }}"
 | 
						|
 | 
						|
- name: add mongodb to service list
 | 
						|
  ini_file: dest='{{ service_filelist }}'
 | 
						|
            section=mongodb
 | 
						|
            option='{{ item.option }}'
 | 
						|
            value='"{{ item.value }}"'
 | 
						|
  with_items:
 | 
						|
       - option: name
 | 
						|
         value: MongoDB
 | 
						|
       - option: description
 | 
						|
         value: '"MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling."'
 | 
						|
       - option: enabled
 | 
						|
         value: "{{ mongodb_enabled }}"
 |