OpenPOWER: Add additional traces when requesting instance id

The dump manager requests an instance id from PLDM to communicate
with the host. Since the number of instances is limited
PLDM needs to keep track of the requests, adding
additional traces while requesting the instance id.
Added exception handling for bus errors while
getting instance id from PLDM.

Testing:
Execute offload and delete to see whether traces are coming.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: Id15a99d349851ca00baf7fc8d59a83d7d266fa44
diff --git a/host-transport-extensions/pldm/common/pldm_utils.cpp b/host-transport-extensions/pldm/common/pldm_utils.cpp
index b68ad58..196763a 100644
--- a/host-transport-extensions/pldm/common/pldm_utils.cpp
+++ b/host-transport-extensions/pldm/common/pldm_utils.cpp
@@ -40,18 +40,32 @@
 
     constexpr auto pldmRequester = "xyz.openbmc_project.PLDM.Requester";
     constexpr auto pldm = "/xyz/openbmc_project/pldm";
-
-    auto bus = sdbusplus::bus::new_default();
-    auto service = phosphor::dump::getService(bus, pldm, pldmRequester);
-
-    auto method = bus.new_method_call(service.c_str(), pldm, pldmRequester,
-                                      "GetInstanceId");
-    method.append(eid);
-    auto reply = bus.call(method);
-
     uint8_t instanceID = 0;
-    reply.read(instanceID);
 
+    try
+    {
+        auto bus = sdbusplus::bus::new_default();
+        auto service = phosphor::dump::getService(bus, pldm, pldmRequester);
+
+        auto method = bus.new_method_call(service.c_str(), pldm, pldmRequester,
+                                          "GetInstanceId");
+        method.append(eid);
+        auto reply = bus.call(method);
+
+        reply.read(instanceID);
+
+        log<level::INFO>(
+            fmt::format("Got instanceId({}) from PLDM eid({})", instanceID, eid)
+                .c_str());
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        log<level::ERR>(
+            fmt::format("Failed to get instance id error({})", e.what())
+                .c_str());
+        elog<NotAllowed>(Reason("Failure in communicating with pldm service, "
+                                "service may not be running"));
+    }
     return instanceID;
 }