From 174b3b1db95d277ec8788ae751d6ebb20707c964 Mon Sep 17 00:00:00 2001 From: "Vikram Potturi(apotturi)" Date: Wed, 11 Apr 2018 17:51:52 -0400 Subject: Adding code to the jar Change-Id: I25fe0ff6a324aab97c13173fa406d427139970e1 Issue-ID: MUSIC-68 Signed-off-by: Vikram Potturi(apotturi) --- .../music/eelf/healthcheck/MusicHealthCheck.java | 175 +++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 jar/src/main/java/org/onap/music/eelf/healthcheck/MusicHealthCheck.java (limited to 'jar/src/main/java/org/onap/music/eelf/healthcheck/MusicHealthCheck.java') diff --git a/jar/src/main/java/org/onap/music/eelf/healthcheck/MusicHealthCheck.java b/jar/src/main/java/org/onap/music/eelf/healthcheck/MusicHealthCheck.java new file mode 100644 index 00000000..1f4abea1 --- /dev/null +++ b/jar/src/main/java/org/onap/music/eelf/healthcheck/MusicHealthCheck.java @@ -0,0 +1,175 @@ +/* + * ============LICENSE_START========================================== + * org.onap.music + * =================================================================== + * Copyright (c) 2017 AT&T Intellectual Property + * =================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================= + * ==================================================================== + */ +package org.onap.music.eelf.healthcheck; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Iterator; + + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.mindrot.jbcrypt.BCrypt; +import org.onap.music.datastore.PreparedQueryObject; +import org.onap.music.datastore.jsonobjects.JsonOnboard; +import org.onap.music.eelf.logging.EELFLoggerDelegate; +import org.onap.music.eelf.logging.format.AppMessages; +import org.onap.music.eelf.logging.format.ErrorSeverity; +import org.onap.music.eelf.logging.format.ErrorTypes; +import org.onap.music.exceptions.MusicLockingException; +import org.onap.music.lockingservice.MusicLockingService; +import org.onap.music.main.CachingUtil; +import org.onap.music.main.MusicCore; +import org.onap.music.main.MusicUtil; +import org.onap.music.main.ResultType; +import com.datastax.driver.core.DataType; +import com.datastax.driver.core.ResultSet; + + + + +/** + * @author inam + * + */ +public class MusicHealthCheck { + + private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MusicUtil.class); + + private String cassandrHost; + private String zookeeperHost; + + + + + + + + + public String getCassandraStatus() { + logger.info(EELFLoggerDelegate.applicationLogger,"Getting Status for Cassandra"); + if(this.getAdminKeySpace()) { + return "ACTIVE"; + }else { + logger.info(EELFLoggerDelegate.applicationLogger,"Cassandra Service is not responding"); + return "INACTIVE"; + } + } + + + private Boolean getAdminKeySpace() { + + String appName = ""; + + PreparedQueryObject pQuery = new PreparedQueryObject(); + pQuery.appendQueryString( + "select * from admin.keyspace_master"); + //pQuery.addValue(MusicUtil.convertToActualDataType(DataType.text(), appName)); + try { + ResultSet rs = MusicCore.get(pQuery); + + if(rs != null) { + return Boolean.TRUE; + }else { + return Boolean.FALSE; + } + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger,e.getMessage(),AppMessages.CASSANDRACONNECTIVITY, ErrorTypes.CONNECTIONERROR, ErrorSeverity.CRITICAL); + } + + return Boolean.FALSE; + + + } + + public String getZookeeperStatus() { + + + String host = MusicUtil.getMyZkHost(); + logger.info(EELFLoggerDelegate.applicationLogger,"Getting Status for Zookeeper Host: "+host); + try { + MusicLockingService lockingService = MusicCore.getLockingServiceHandle(); + //additionally need to call the ZK to create,aquire and delete lock + } catch (MusicLockingException e) { + logger.error(EELFLoggerDelegate.errorLogger,e.getMessage(),AppMessages.LOCKINGERROR, ErrorTypes.CONNECTIONERROR, ErrorSeverity.CRITICAL); + return "INACTIVE"; + } + + logger.info(EELFLoggerDelegate.applicationLogger,"Zookeeper is Active and Running"); + return "ACTIVE"; + + //return "Zookeeper is not responding"; + + } + + + + + public String getCassandrHost() { + return cassandrHost; + } + + + + + public void setCassandrHost(String cassandrHost) { + this.cassandrHost = cassandrHost; + } + + + + + public String getZookeeperHost() { + return zookeeperHost; + } + + + + + public void setZookeeperHost(String zookeeperHost) { + this.zookeeperHost = zookeeperHost; + } + + + + + + + + + + + + + + + + + + + +} -- cgit 1.2.3-korg