Update U-boot env variables
- If the new priority is the lowest then set the uboot to point
to that particular version
- Otherwise reset the Uboot environment variable to find the version
with the lowest priority and then set that in uboot.
Resolves openbmc/openbmc#2512
Change-Id: Id27e78a85662e0ff2e941515bb467a43c6076d96
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
diff --git a/item_updater.cpp b/item_updater.cpp
index e2de36f..e7e3b36 100644
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -602,23 +602,9 @@
}
}
- // TODO: openbmc/openbmc#2369 Add recovery policy to updateubootvars
- // unit template.
- auto method = bus.new_method_call(
- SYSTEMD_BUSNAME,
- SYSTEMD_PATH,
- SYSTEMD_INTERFACE,
- "StartUnit");
- auto updateEnvVarsFile = "obmc-flash-bmc-updateubootvars@" +
- lowestPriorityVersion + ".service";
- method.append(updateEnvVarsFile, "replace");
- auto result = bus.call(method);
-
- //Check that the bus call didn't result in an error
- if (result.is_method_error())
- {
- log<level::ERR>("Failed to update u-boot env variables");
- }
+ // Update the U-boot environment variable to point to the lowest priority
+ auto it = activations.find(lowestPriorityVersion);
+ it->second->updateUbootEnvVars();
}
} // namespace updater