From 707f6a33a663aeb579e3ba2948c1de6f6ecce668 Mon Sep 17 00:00:00 2001 From: rashmy Date: Fri, 22 Nov 2019 16:50:38 -0800 Subject: [PATCH] fix exceptions --- source/code/plugin/KubernetesApiClient.rb | 6 ++++-- source/code/plugin/in_kube_podinventory.rb | 10 ++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/source/code/plugin/KubernetesApiClient.rb b/source/code/plugin/KubernetesApiClient.rb index 7b5a1cd24..6bfdc06f1 100644 --- a/source/code/plugin/KubernetesApiClient.rb +++ b/source/code/plugin/KubernetesApiClient.rb @@ -58,8 +58,10 @@ def getKubeResourceInfo(resource, api_group: nil) rescue => error @Log.warn("kubernetes api request failed: #{error} for #{resource} @ #{Time.now.utc.iso8601}") end - if (!response.nil? && !response.body.nil? && response.body.empty?) - @Log.warn("KubernetesAPIClient::getKubeResourceInfo : Got empty response from Kube API for #{resource} @ #{Time.now.utc.iso8601}") + if (!response.nil?) + if (!response.body.nil? && response.body.empty?) + @Log.warn("KubernetesAPIClient::getKubeResourceInfo : Got empty response from Kube API for #{resource} @ #{Time.now.utc.iso8601}") + end end return response end diff --git a/source/code/plugin/in_kube_podinventory.rb b/source/code/plugin/in_kube_podinventory.rb index 766831a66..1dd029b22 100644 --- a/source/code/plugin/in_kube_podinventory.rb +++ b/source/code/plugin/in_kube_podinventory.rb @@ -58,10 +58,16 @@ def enumerate(podList = nil) end begin - if (!podInventory.empty? && podInventory.key?("items") && !podInventory["items"].empty?) + if (!podInventory.nil? && !podInventory.empty? && podInventory.key?("items") && !podInventory["items"].empty?) #get pod inventory & services $log.info("in_kube_podinventory::enumerate : Getting services from Kube API @ #{Time.now.utc.iso8601}") - serviceList = JSON.parse(KubernetesApiClient.getKubeResourceInfo("services").body) + serviceList = nil + serviceInfo = KubernetesApiClient.getKubeResourceInfo("services") + + if !serviceInfo.nil? + serviceList = JSON.parse(serviceInfo.body) + end + $log.info("in_kube_podinventory::enumerate : Done getting services from Kube API @ #{Time.now.utc.iso8601}") parse_and_emit_records(podInventory, serviceList) else