From: Lukasz Rajewski Date: Fri, 19 Feb 2021 18:23:11 +0000 (+0100) Subject: K8sPlugin Query API endpoint added X-Git-Tag: 1.1.0~4 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F24%2F118124%2F1;p=ccsdk%2Fcds.git K8sPlugin Query API endpoint added K8sPlugin Query API endpoint added Issue-ID: CCSDK-3146 Signed-off-by: Lukasz Rajewski Change-Id: I10abfd986de0df0069b258276fe0ec0fc9b76bff --- diff --git a/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt b/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt index 120c38044..e0366f994 100644 --- a/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt +++ b/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt @@ -120,6 +120,35 @@ class K8sPluginInstanceApi( } } + fun queryInstanceStatus(instanceId: String, kind: String, apiVersion: String, name: String?, labels: String?): K8sRbInstanceStatus? { + val rbInstanceService = K8sRbInstanceRestClient(k8sConfiguration, instanceId) + try { + var path: String = "/query?ApiVersion=$apiVersion&Kind=$kind" + if (name != null) + path = path.plus("&Name=$name") + if (labels != null) + path = path.plus("&Labels=$labels") + val result: BlueprintWebClientService.WebClientResponse = rbInstanceService.exchangeResource( + GET.name, + path, + "" + ) + log.debug(result.toString()) + return if (result.status in 200..299) { + val parsedObject: K8sRbInstanceStatus? = JacksonUtils.readValue( + result.body, K8sRbInstanceStatus::class.java + ) + parsedObject + } else if (result.status == 500 && result.body.contains("Error finding master table")) + null + else + throw BlueprintProcessorException(result.body) + } catch (e: Exception) { + log.error("Caught exception trying to get k8s rb instance") + throw BlueprintProcessorException("${e.message}") + } + } + fun getInstanceHealthCheckList(instanceId: String): List? { val rbInstanceService = K8sRbInstanceRestClient(k8sConfiguration, instanceId) try {