phosphor-settings-manager: redesign boot setting override feature
Current realization of a boot override feature has several downsides
which are described in detail in the mailing list letter
https://lists.ozlabs.org/pipermail/openbmc/2021-May/026533.html
Redesign interfaces under '/xyz/openbmc_project/control/host0/boot'
object to solve all the problems, in particular:
- add 'Enable' interface under '/xyz/openbmc_project/control/host0/boot'
path to store overall boot override enabled state,
- drop BootSource/BootMode/BootType interfaces from the
'/xyz/openbmc_project/control/host0/boot/one_time' object. In the new
design there is no need to store such properties twice,
- by default make override feature disabled and permanent.
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Change-Id: Ie59ba703a6f39f8e1d4934cce89cbe8cd5a826e4
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
index a4119e6..d51ba03 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
@@ -25,20 +25,16 @@
Properties:
BootMode:
Default: Mode::Modes::Regular
-
-/xyz/openbmc_project/control/host0/boot/one_time:
- - Interface: xyz.openbmc_project.Control.Boot.Source
- Properties:
- BootSource:
- Default: Source::Sources::Default
- - Interface: xyz.openbmc_project.Control.Boot.Mode
- Properties:
- BootMode:
- Default: Mode::Modes::Regular
- Interface: xyz.openbmc_project.Object.Enable
Properties:
Enabled:
- Default: 'true'
+ Default: 'false'
+
+/xyz/openbmc_project/control/host0/boot/one_time:
+ - Interface: xyz.openbmc_project.Object.Enable
+ Properties:
+ Enabled:
+ Default: 'false'
/xyz/openbmc_project/control/host0/power_cap:
- Interface: xyz.openbmc_project.Control.Power.Cap
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml
index da15013..4589611 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml
@@ -11,22 +11,14 @@
Properties:
BootType:
Default: Type::Types::EFI
-
-/xyz/openbmc_project/control/host0/boot/one_time:
- - Interface: xyz.openbmc_project.Control.Boot.Source
- Properties:
- BootSource:
- Default: Source::Sources::Default
- - Interface: xyz.openbmc_project.Control.Boot.Mode
- Properties:
- BootMode:
- Default: Mode::Modes::Regular
- - Interface: xyz.openbmc_project.Control.Boot.Type
- Properties:
- BootType:
- Default: Type::Types::EFI
- Interface: xyz.openbmc_project.Object.Enable
Properties:
Enabled:
- Default: 'true'
+ Default: 'false'
+
+/xyz/openbmc_project/control/host0/boot/one_time:
+ - Interface: xyz.openbmc_project.Object.Enable
+ Properties:
+ Enabled:
+ Default: 'false'