summaryrefslogtreecommitdiffstats
path: root/README-settings-manager.md
diff options
context:
space:
mode:
authorDeepak Kodihalli <dkodihal@in.ibm.com>2017-05-17 08:26:13 -0500
committerDeepak Kodihalli <dkodihal@in.ibm.com>2017-05-26 00:18:50 -0500
commit672219903522547fbef7258748521c96bf86705c (patch)
tree3af6d26d22a766e60fef913f9f90823d673bedd4 /README-settings-manager.md
parent5de0957ccc5ba51bba375d2434cd3420b7a2c3af (diff)
downloadphosphor-settingsd-672219903522547fbef7258748521c96bf86705c.tar.gz
phosphor-settingsd-672219903522547fbef7258748521c96bf86705c.zip
Add README for the settings manager
Change-Id: Ia151903e6882d68b7c6d67d39e6634951bd63d7d Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Diffstat (limited to 'README-settings-manager.md')
-rw-r--r--README-settings-manager.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/README-settings-manager.md b/README-settings-manager.md
new file mode 100644
index 0000000..3d3367d
--- /dev/null
+++ b/README-settings-manager.md
@@ -0,0 +1,40 @@
+## Introduction
+
+The settings manager has the following design goals:
+
+* Each setting should be a distinct d-bus object.
+
+* The above makes it possible to not even create settings objects that do not
+ apply to a specific system.
+
+* It should be possible, for example, for host0/ and host1/ on a system with
+ two hosts to not only have different values for certain settings, but
+ have different applicable settings as well.
+
+* It should be possible to specify default settings for a system at build-time,
+ based on which the settings manager should at run-time create appopriate
+ d-bus objects and place them on the bus.
+
+## Settings policy file
+
+Some of the design goals above are achieved via a policy file, which is written
+in YAML. Based on this policy file, the settings manager code is generated to be
+able to create only relevant settings d-bus objects along with specifying their
+defaults.
+
+Here's an example of how entries in the YAML would look:
+
+```
+/xyz/openbmc_project/control/host0/boot_mode:
+ Interface: xyz.openbmc_project.Control.Boot.Mode
+ Defaults:
+ BootMode: Mode::Modes::Regular
+
+/xyz/openbmc_project/control/host1/boot_mode:
+ Interface: xyz.openbmc_project.Control.Boot.Mode
+ Defaults:
+ BootMode: Mode::Modes::Safe
+```
+
+It is possible to specify this policy file via a bitbake recipe for a system
+specific policy.
OpenPOWER on IntegriCloud