Add option to disable automatic write of sysfs attributes
Fixes: PROD-23149 (PROD:23149)
Change-Id: I14c68a0a519a63951571f966fae72fd01ec2e556
diff --git a/README.rst b/README.rst
index e4accd7..30dbec9 100644
--- a/README.rst
+++ b/README.rst
@@ -805,6 +805,22 @@
power/state: "root:power"
- devices/system/cpu/cpu0/cpufreq/scaling_governor: powersave
+Sysfs definition with disabled automatic write. Attributes are saved
+to configuration, but are not applied during the run.
+Thay will be applied automatically after the reboot.
+
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ sysfs:
+ enable_apply: false
+ scheduler:
+ block/sda/queue/scheduler: deadline
+
+.. note:: The `enable_apply` parameter defaults to `True` if not defined.
+
Huge Pages
~~~~~~~~~~~~
diff --git a/linux/system/sysfs.sls b/linux/system/sysfs.sls
index 8440384..a4e28bf 100644
--- a/linux/system/sysfs.sls
+++ b/linux/system/sysfs.sls
@@ -11,6 +11,8 @@
- require:
- pkg: linux_sysfs_package
+{% set apply = system.get('sysfs', {}).pop('enable_apply', True) %}
+
{%- for name, sysfs in system.get('sysfs', {}).items() %}
/etc/sysfs.d/{{ name }}.conf:
@@ -32,6 +34,8 @@
{%- set sysfs_list = sysfs %}
{%- endif %}
+{%- if apply %}
+
{%- for item in sysfs_list %}
{%- set list_idx = loop.index %}
{%- for key, value in item.items() %}
@@ -48,4 +52,7 @@
{%- endfor %}
{%- endfor %}
+
+{%- endif %}
+
{%- endfor %}
diff --git a/tests/pillar/system.sls b/tests/pillar/system.sls
index aa1c7ed..a0a3e04 100644
--- a/tests/pillar/system.sls
+++ b/tests/pillar/system.sls
@@ -99,6 +99,7 @@
subjects:
- '@group1'
sysfs:
+ enable_apply: true
scheduler:
block/sda/queue/scheduler: deadline
power: