diff --git a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java
index 230f44d2e13228dac9e0d8a39ff110570220103c..18a138d0b3624b8a2c9bca77d1c0be0416603806 100644
--- a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java
+++ b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/ElasticUtils.java
@@ -260,7 +260,7 @@ public class ElasticUtils {
     private RestHighLevelClient createClient(String username, String password, String host) {
 
         RestHighLevelClient restHighLevelClient;
-        int port = Config.PORT;
+        int port = Config.getPort();
         try {
             String rawString = String.format("%s:%s", username, password);
 
diff --git a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
index 126934d41fd3689a45218c6c78fe575741c33aa3..518b2b6f970c5c07b918d7e0ed31aabe819dcdae 100644
--- a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
+++ b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
@@ -1,7 +1,6 @@
 package org.opengroup.osdu.step_definitions.index.record;
 
 import org.opengroup.osdu.common.RecordSteps;
-import org.opengroup.osdu.util.ElasticUtilsIBM;
 import org.opengroup.osdu.util.IBMHTTPClient;
 
 import cucumber.api.DataTable;
@@ -16,7 +15,7 @@ import lombok.extern.java.Log;
 public class Steps extends RecordSteps {
 
     public Steps() {
-        super(new IBMHTTPClient(), new ElasticUtilsIBM());
+        super(new IBMHTTPClient());
     }
 
     @Before
diff --git a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/ElasticUtilsIBM.java b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/ElasticUtilsIBM.java
deleted file mode 100644
index 5174b7c932b7629c6f67747b3c45525ee2cb0812..0000000000000000000000000000000000000000
--- a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/ElasticUtilsIBM.java
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2020 IBM Corp. All Rights Reserved.
-//
-// 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.
-
-package org.opengroup.osdu.util;
-
-import java.security.SecureRandom;
-import java.security.cert.X509Certificate;
-import java.util.Base64;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-
-import org.apache.http.Header;
-import org.apache.http.HttpHost;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
-import org.apache.http.message.BasicHeader;
-import org.elasticsearch.client.RestClient;
-import org.elasticsearch.client.RestClientBuilder;
-import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
-import org.elasticsearch.client.RestHighLevelClient;
-
-import lombok.extern.java.Log;
-
-/**
- * All util methods to use elastic apis for tests
- * It should be used only in the Setup or TearDown phase of the test
- */
-@Log
-public class ElasticUtilsIBM extends ElasticUtils {
-
-    private static final int REST_CLIENT_CONNECT_TIMEOUT = 5000;
-    private static final int REST_CLIENT_SOCKET_TIMEOUT = 60000;
-    private static final int REST_CLIENT_RETRY_TIMEOUT = 60000;
-
-    public ElasticUtilsIBM() {
-        super();
-    }
-
-    protected RestHighLevelClient createClient(String username, String password, String host) {
-
-        RestHighLevelClient restHighLevelClient;
-        int port = Config.getPort();
-        try {
-            String rawString = String.format("%s:%s", username, password);
-            RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, "https"));
-            builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
-                    .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));
-            builder.setMaxRetryTimeoutMillis(REST_CLIENT_RETRY_TIMEOUT);
-
-            Header[] defaultHeaders = new Header[]{
-                    new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
-                    new BasicHeader("client.transport.ping_timeout", "30s"),
-                    new BasicHeader("client.transport.sniff", "false"),
-                    new BasicHeader("request.headers.X-Found-Cluster", Config.getElasticHost()),
-                    new BasicHeader("cluster.name", Config.getElasticHost()),
-                    new BasicHeader("xpack.security.transport.ssl.enabled", Boolean.toString(true)),
-                    new BasicHeader("Authorization", String.format("Basic %s", Base64.getEncoder().encodeToString(rawString.getBytes()))),
-            };
-
-
-            SSLContext sslContext = SSLContext.getInstance("SSL");
-            // set up a TrustManager that trusts everything
-            sslContext.init(null, new TrustManager[]{new X509TrustManager() {
-                public X509Certificate[] getAcceptedIssuers() {
-                    return null;
-                }
-
-                public void checkClientTrusted(X509Certificate[] certs, String authType) {
-                }
-
-                public void checkServerTrusted(X509Certificate[] certs, String authType) {
-                }
-            }}, new SecureRandom());
-
-            builder.setHttpClientConfigCallback(new HttpClientConfigCallback() {
-
-                public HttpAsyncClientBuilder customizeHttpClient(
-                        HttpAsyncClientBuilder httpClientBuilder) {
-                    return httpClientBuilder
-                            .setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
-                            .setSSLContext(sslContext);
-                }
-            })
-                    .setDefaultHeaders(defaultHeaders);
-
-            restHighLevelClient = new RestHighLevelClient(builder);
-
-        } catch (Exception e) {
-            throw new AssertionError("Setup elastic error");
-        }
-        return restHighLevelClient;
-    }
-}
\ No newline at end of file
diff --git a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IBMHTTPClient.java b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IBMHTTPClient.java
index c313c3833f037039a61f939ad31af6a04870f031..e3fcf2dc27a12f2fadd9c58b1f1e2a77e9d1273b 100644
--- a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IBMHTTPClient.java
+++ b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IBMHTTPClient.java
@@ -14,12 +14,11 @@
 
 package org.opengroup.osdu.util;
 
+import com.google.common.base.Strings;
+
 import lombok.ToString;
 import lombok.extern.java.Log;
 
-import com.google.common.base.Strings;
-
-@Log
 @ToString
 public class IBMHTTPClient extends HTTPClient {
 	 private static String token = null;
@@ -28,7 +27,7 @@ public class IBMHTTPClient extends HTTPClient {
 	    public synchronized String getAccessToken() {
 	        if(Strings.isNullOrEmpty(token)) {
 	            try {
-	                token = "Bearer " + IdentityUtilIBM.getAccessToken();
+	                token = "Bearer " + IdentityClient.getTokenForUserWithAccess();
 	            } catch (Exception e) {
 	                e.printStackTrace();
 	            }
diff --git a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityUtilIBM.java b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityClient.java
similarity index 79%
rename from testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityUtilIBM.java
rename to testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityClient.java
index 1f2fdb06f2a0a28de33481be957bfc1a875716f3..4d37818342c915891118cc5714bc4133f2086d22 100644
--- a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityUtilIBM.java
+++ b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/IdentityClient.java
@@ -16,12 +16,12 @@ package org.opengroup.osdu.util;
 
 import java.io.IOException;
 
-public class IdentityUtilIBM {
+public class IdentityClient {
 		
-    public static String getAccessToken(){
+    public static String getTokenForUserWithAccess(){
         try {
-        	String user = System.getProperty("AUTH_USER_ACCESS");
-        	String pass = System.getProperty("AUTH_USER_ACCESS_PASSWORD");
+        	String user = System.getProperty("AUTH_USER_ACCESS", System.getenv("AUTH_USER_ACCESS"));
+        	String pass = System.getProperty("AUTH_USER_ACCESS_PASSWORD", System.getenv("AUTH_USER_ACCESS_PASSWORD"));
 			return KeyCloakProvider.getToken(user, pass);
 		} catch (IOException e) {
 			e.printStackTrace();
diff --git a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/KeyCloakProvider.java b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/KeyCloakProvider.java
index d890d9a99b609e25dbe777c5f14fec9aa8f1846b..cbf43589a06c7ac679e08d7a9baee67536935b26 100644
--- a/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/KeyCloakProvider.java
+++ b/testing/indexer-test-ibm/src/test/java/org/opengroup/osdu/util/KeyCloakProvider.java
@@ -21,18 +21,10 @@ import java.io.InputStreamReader;
 import java.io.UnsupportedEncodingException;
 import java.net.URL;
 import java.net.URLEncoder;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
@@ -41,53 +33,16 @@ public class KeyCloakProvider {
 	
     private static String url;
     private static String realm;
-	private static String client_id;
+	private static String client_id, client_secret;
 	private static String grant_type = "password";
 
 	static {
-	    disableSslVerification();
-	    url = System.getProperty("KEYCLOAK_URL");
-	    realm = System.getProperty("KEYCLOAK_REALM");
-	    client_id = System.getProperty("KEYCLOAK_CLIENT_ID");
+	    url = System.getProperty("KEYCLOAK_URL", System.getenv("KEYCLOAK_URL"));
+	    realm = System.getProperty("KEYCLOAK_REALM", System.getenv("KEYCLOAK_REALM"));
+	    client_id = System.getProperty("KEYCLOAK_CLIENT_ID", System.getenv("KEYCLOAK_CLIENT_ID"));
+	    client_secret = System.getProperty("KEYCLOAK_CLIENT_SECRET", System.getenv("KEYCLOAK_CLIENT_SECRET"));
 	}
 
-	private static void disableSslVerification() {
-	    try
-	    {
-	        // Create a trust manager that does not validate certificate chains
-	        TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
-	            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
-	                return null;
-	            }
-	            public void checkClientTrusted(X509Certificate[] certs, String authType) {
-	            }
-	            public void checkServerTrusted(X509Certificate[] certs, String authType) {
-	            }
-	        }
-	        };
-
-	        // Install the all-trusting trust manager
-	        SSLContext sc = SSLContext.getInstance("SSL");
-	        sc.init(null, trustAllCerts, new java.security.SecureRandom());
-	        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
-
-	        // Create all-trusting host name verifier
-	        HostnameVerifier allHostsValid = new HostnameVerifier() {
-	            public boolean verify(String hostname, SSLSession session) {
-	                return true;
-	            }
-	        };
-
-	        // Install the all-trusting host verifier
-	        HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
-	    } catch (NoSuchAlgorithmException e) {
-	        e.printStackTrace();
-	    } catch (KeyManagementException e) {
-	        e.printStackTrace();
-	    }
-	}
-
-
 	public static String getToken(String user, String pwd) throws IOException {
 		String token_endpoint = String.format("https://%s/auth/realms/%s/protocol/openid-connect/token", url, realm);
         URL url = new URL(token_endpoint);
@@ -98,6 +53,7 @@ public class KeyCloakProvider {
         Map<String, String> parameters = new HashMap<>();
         parameters.put("grant_type", grant_type);
         parameters.put("client_id", client_id);
+        parameters.put("client_secret", client_secret);
         parameters.put("username", user);
         parameters.put("password", pwd);
 
diff --git a/testing/pom.xml b/testing/pom.xml
index 1bac11ececef04b5fad0f21269dd96c5b4f59a97..14d9179b9fc89a0849ae71da53b43268d2a7897a 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -36,6 +36,7 @@
 		<module>indexer-test-aws</module>
 		<module>indexer-test-azure</module>
 		<module>indexer-test-gcp</module>
+		<module>indexer-test-ibm</module>
 	</modules>
 
 	<repositories>