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