From 2df94e98f71f7dbc187bde4eacd2057b173e71a3 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Mon, 24 Jan 2022 09:30:48 +0000 Subject: [PATCH 1/7] style(prereq): split hugepages/firewalld --- mongodb/service/running.sls | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index 7db2a86..cd4563f 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -12,7 +12,7 @@ include: - {{ sls_software_install }} {%- if grains.kernel|lower == 'linux' %} -{{ formula }}-service-running-prerequisites: +{{ formula }}-service-running-prerequisites-hugepages: file.managed: - name: /etc/init.d/disable-transparent-hugepages - source: salt://{{ formula }}/files/disable-transparent-hugepages.init @@ -27,8 +27,10 @@ include: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled - onlyif: {{ d.wanted.disable_transparent_hugepages }} - require: - - file: {{ formula }}-service-running-prerequisites + - file: {{ formula }}-service-running-prerequisites-hugepages + {%- if d.wanted.firewall %} +{{ formula }}-service-running-prerequisites-firewalld: pkg.installed: - name: firewalld - reload_modules: true @@ -224,8 +226,8 @@ include: - ports: {{ software['firewall']['ports']|json }} {%- if grains.kernel|lower == 'linux' %} - require: - - pkg: {{ formula }}-service-running-prerequisites - - service: {{ formula }}-service-running-prerequisites + - pkg: {{ formula }}-service-running-prerequisites-firewalld + - service: {{ formula }}-service-running-prerequisites-firewalld {%- endif %} - require_in: - service: {{ formula }}-service-running-{{ comp }}-{{ servicename }} From 88e22939a17d831927a3400492ce13d92b63406d Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Mon, 24 Jan 2022 09:33:05 +0000 Subject: [PATCH 2/7] fix(hugepages): config test detection `onlyif: False` does not work like expected on salt 3004 seemed to work on 2019 --- mongodb/service/running.sls | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index cd4563f..460175d 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -12,12 +12,12 @@ include: - {{ sls_software_install }} {%- if grains.kernel|lower == 'linux' %} + {%- if d.wanted.disable_transparent_hugepages %} {{ formula }}-service-running-prerequisites-hugepages: file.managed: - name: /etc/init.d/disable-transparent-hugepages - source: salt://{{ formula }}/files/disable-transparent-hugepages.init - unless: test -f /etc/init.d/disable-transparent-hugepages 2>/dev/null - - onlyif: {{ d.wanted.disable_transparent_hugepages }} - mode: '0755' - makedirs: True - require: @@ -25,9 +25,9 @@ include: - sls: {{ sls_config_users }} cmd.run: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled - - onlyif: {{ d.wanted.disable_transparent_hugepages }} - require: - file: {{ formula }}-service-running-prerequisites-hugepages + {% endif %} {%- if d.wanted.firewall %} {{ formula }}-service-running-prerequisites-firewalld: From 39746209a62b9192add9183d133a0f0ee5415b27 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Mon, 24 Jan 2022 09:35:15 +0000 Subject: [PATCH 3/7] fix(hugepages): only if not already in place Checks value before running cmd on each run --- mongodb/service/running.sls | 1 + 1 file changed, 1 insertion(+) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index 460175d..6f2059b 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -25,6 +25,7 @@ include: - sls: {{ sls_config_users }} cmd.run: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled + - unless: "grep '[[]never[]]' /sys/kernel/mm/transparent_hugepage/enabled" - require: - file: {{ formula }}-service-running-prerequisites-hugepages {% endif %} From 2360d3f98be7db1152858607ce1806283684e686 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Mon, 24 Jan 2022 09:35:51 +0000 Subject: [PATCH 4/7] fix(hugepages): enable on boot Just placing the file in etc/init.d would not be enough to keep it after reboot --- mongodb/service/running.sls | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index 6f2059b..21e57c4 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -23,6 +23,10 @@ include: - require: - sls: {{ sls_software_install }} - sls: {{ sls_config_users }} + service.enabled: + - name: disable-transparent-hugepages + - require: + - file: {{ formula }}-service-running-prerequisites-hugepages cmd.run: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled - unless: "grep '[[]never[]]' /sys/kernel/mm/transparent_hugepage/enabled" From dbad583d8268905fa8bd16ae2f0659757bca5707 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Mon, 24 Jan 2022 14:29:39 +0000 Subject: [PATCH 5/7] fix(hugepages): fix enabling service systemd needs a systemctl daemon-reload before we can enable the service --- mongodb/service/running.sls | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index 21e57c4..5510071 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -13,7 +13,7 @@ include: {%- if grains.kernel|lower == 'linux' %} {%- if d.wanted.disable_transparent_hugepages %} -{{ formula }}-service-running-prerequisites-hugepages: +{{ formula }}-service-running-prerequisites-hugepages-service: file.managed: - name: /etc/init.d/disable-transparent-hugepages - source: salt://{{ formula }}/files/disable-transparent-hugepages.init @@ -23,15 +23,20 @@ include: - require: - sls: {{ sls_software_install }} - sls: {{ sls_config_users }} + cmd.wait: + - name: systemctl daemon-reload + - watch: + - file: {{ formula }}-service-running-prerequisites-hugepages-service + - require_in: + - service: {{ formula }}-service-running-prerequisites-hugepages-service service.enabled: - name: disable-transparent-hugepages - require: - - file: {{ formula }}-service-running-prerequisites-hugepages + - file: {{ formula }}-service-running-prerequisites-hugepages-service +{{ formula }}-service-running-prerequisites-hugepages-now: cmd.run: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled - unless: "grep '[[]never[]]' /sys/kernel/mm/transparent_hugepage/enabled" - - require: - - file: {{ formula }}-service-running-prerequisites-hugepages {% endif %} {%- if d.wanted.firewall %} From a5af52f9ce7d01b7674b0d90d039cc54d0adafb5 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Thu, 7 Jul 2022 14:16:02 +0200 Subject: [PATCH 6/7] fix(hugepages): fix salt-lint --- mongodb/service/running.sls | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index 5510071..b86f478 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -23,9 +23,9 @@ include: - require: - sls: {{ sls_software_install }} - sls: {{ sls_config_users }} - cmd.wait: + cmd.run: - name: systemctl daemon-reload - - watch: + - onchanges: - file: {{ formula }}-service-running-prerequisites-hugepages-service - require_in: - service: {{ formula }}-service-running-prerequisites-hugepages-service From 5537708134fca45ff86ed75d526ae6c2f797c967 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Thu, 7 Jul 2022 14:13:44 +0200 Subject: [PATCH 7/7] fix(hugepages): fix CI for Arch --- mongodb/service/running.sls | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mongodb/service/running.sls b/mongodb/service/running.sls index b86f478..7cad514 100644 --- a/mongodb/service/running.sls +++ b/mongodb/service/running.sls @@ -23,6 +23,8 @@ include: - require: - sls: {{ sls_software_install }} - sls: {{ sls_config_users }} +{% if grains.get('os_family') != 'Arch' %} +{# Arch does not seem to find /etc/init.d services? #} cmd.run: - name: systemctl daemon-reload - onchanges: @@ -33,6 +35,7 @@ include: - name: disable-transparent-hugepages - require: - file: {{ formula }}-service-running-prerequisites-hugepages-service +{% endif %} {{ formula }}-service-running-prerequisites-hugepages-now: cmd.run: - name: echo never >/sys/kernel/mm/transparent_hugepage/enabled