Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
3
-
9223372036854775807
Description
A YAML file with settings has event type conf_param and set_param.
- {device: testfs-MDT0001, event: conf_param, index: 76, parameter: lod.qos_threshold_rr=100} - { index: 17, event: set_param, device: general, parameter: jobid_var, value: procname_uid }
The main difference for type is where setting is stored and how it is applied. A conf_param setting locates at a specific to service configuration file (lustre-MDT0000, fs-OST0020). A set_param setting locates at a params file. A params is applied to all nodes, and a conf_param to a specific service.
set_param -F yaml.file translates all setting to a set_param -P.
And this brings an errors like
Nov 16 11:35:52 kjlmo704 systemd-udevd[1738733]: Process '/usr/sbin/lctl set_param 'osc.testfs-OST0000-osc-MDT0000.checksums=0'' failed with exit code 2. Nov 16 11:35:52 kjlmo704 systemd-udevd[1738736]: Process '/usr/sbin/lctl set_param 'ost.testfs-OST0001.sync_journal=0'' failed with exit code 2.
becase params would be applied at all nodes and many nodes does not have such device or subsystem.
The right solution is to adopt applying yaml file to distinguish set_param and conf_param settings, and store it in a right way. This approach has a conflict in naming
lctl conf_param
lctl set_param
lctl set_param -F (for both)
so I introduced a new command lctl apply_yaml.