Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.218.94.236
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/ansible_collections/community/mongodb/roles/mongodb_linux/tasks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /lib/python3/dist-packages/ansible_collections/community/mongodb/roles/mongodb_linux/tasks/main.yml
---
# tasks file for mongodb_linux

- name: Include OS-specific vars
  include_vars:
    file: "{{ lookup('first_found', params) }}"
  vars:
    params:
      paths:
        - "vars"
      files:
        - "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_version }}.yml"
        - "{{ ansible_facts.os_family }}-{{ ansible_facts.distribution_major_version }}.yml"
        - "{{ ansible_facts.distribution }}.yml"
        - "{{ ansible_facts.os_family }}.yml"
        - default.yml
  tags:
    - "vars"

- name: See if we are in docker
  when:
    - "ansible_facts.virtualization_role == 'guest'"
    - not in_docker # defined in vars
  block:
    - name: Check if we are in docker (based on /.dockerenv file)
      stat:
        path: /.dockerenv
      register: dockerenv_file
      tags:
        - "ci"
    - name: Update in_docker var
      set_fact:
        in_docker: "{{ dockerenv_file.stat.exists }}"
      tags:
        - "ci"


# Tasks based on: https://docs.mongodb.com/manual/administration/production-notes/

- name: Set swappiness
  ansible.posix.sysctl:
    name: vm.swappiness
    value: "{{ swappiness }}"
    state: present
  tags:
    - "linux"
    - "setup"

- name: Ensure ntp service is installed
  package:
    name: "{{ ntp_package }}"
    state: present
  register: _pkg
  until: _pkg is succeeded
  retries: 5
  tags:
    - "linux"
    - "setup"
    - "pkg"

- name: Update perms on chrony pid dir on RedHat 8
  file:
    path: /run/chrony/
    owner: root
    group: root
    state: directory
  when:
    - ansible_facts.os_family == "RedHat"
    - ansible_facts.distribution_major_version|int >= 8
  tags:
    - "linux"
    - "setup"
    - "redhat"

- name: Ensure ntp service is configured
  service:
    name: "{{ ntp_service }}"
    state: started
    enabled: yes
  tags:
    - "linux"
    - "setup"
    - "service"

- name: Ensure GNU C Library is the latest
  package:
    name: "{{ gnu_c_lib }}"
    state: latest
  register: _pkg
  until: _pkg is succeeded
  retries: 5
  tags:
    - "linux"
    - "setup"
    - "pkg"

- name: Ensure NUMA zone reclaim is disabled
  ansible.posix.sysctl:
    name: vm.zone_reclaim_mode
    value: "0"
    state: present
    reload: yes
  when: not in_docker|bool
  tags:
    - "linux"
    - "setup"

# https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
- name: Ensure thp-disable service exists
  copy:
    src: thp-disable.service
    dest: /etc/systemd/system/disable-transparent-huge-pages.service
    owner: root
    group: root
  register: thp
  tags:
    - "linux"
    - "setup"

- name: Reload systemd
  systemd:
    daemon_reexec: yes
  when: thp is changed
  tags:
    - "linux"
    - "setup"
    - "service"

- name: Check if disable-transparent-huge-pages service is already run
  shell: cat /sys/kernel/mm/transparent_hugepage/enabled | grep -o '[never]'
  register: _huge_page_status
  ignore_errors: yes
  changed_when: _huge_page_status.stdout == ""
  tags:
    - "linux"
    - "service"
    - "setup"

- name: Enable disable-transparent-huge-pages service
  service:
    name: disable-transparent-huge-pages
    state: started
    enabled: yes
  when: (not in_docker|bool) and (_huge_page_status.stdout == "")
  tags:
    - "linux"
    - "service"
    - "setup"

# Tasks based on: https://docs.mongodb.com/manual/reference/ulimit/

- name: Set pam limits (nproc and nofile)
  community.general.pam_limits:
    domain: "{{ item[0] }}"
    limit_type: "{{ item[1] }}"
    limit_item: "{{ item[2] }}"
    value: "{{ item[3] }}"
  with_nested:
    - ["root", "mongodb"]
    - ["hard", "soft"]
    - ["nproc", "nofile"]
    - ["{{ nproc_and_nofile_limit }}"]
  tags:
    - "linux"
    - "setup"

- name: Set pam limits (memlock)
  community.general.pam_limits:
    domain: "{{ item[0] }}"
    limit_type: "{{ item[1] }}"
    limit_item: "{{ item[2] }}"
    value: "{{ item[3] }}"
  with_nested:
    - ["root", "mongodb"]
    - ["hard", "soft"]
    - ["memlock"]
    - ["{{ memlock_limit }}"]
  tags:
    - "linux"
    - "setup"

# Other tuning settings

- name: Set sysctl values
  ansible.posix.sysctl:
    name: "{{ item['name'] }}"
    value: "{{ item['value'] }}"
    state: present
  loop:
    # TODO: These may need to be configurable for different usage patterns.
    - { "name": "vm.dirty_ratio", "value": "15" }
    - { "name": "vm.dirty_background_ratio", "value": "5" }
    - { "name": "net.core.somaxconn ", "value": "4096" }
    - { "name": "net.ipv4.tcp_fin_timeout", "value": "30" }
    - { "name": "net.ipv4.tcp_keepalive_intvl", "value": "30" }
    - { "name": "net.ipv4.tcp_keepalive_time", "value": "120" }
    - { "name": "net.ipv4.tcp_max_syn_backlog ", "value": "4096" }
  tags:
    - "linux"
    - "setup"

Anon7 - 2022
AnonSec Team