11__author__ = 'royrusso'
22
3+ import os
34import json
45
56import requests
@@ -34,7 +35,8 @@ def ping(self, ip, port, scheme='http'):
3435 except Exception as e :
3536 return False
3637
37- def create_connection (self , ip , port , scheme = 'http' , username = None , password = None , fail_on_exception = False ):
38+ def create_connection (self , ip , port , scheme = 'http' , username = None , password = None ,
39+ fail_on_exception = False , enable_ssl = False , ca_certs = None ):
3840 """
3941 Creates a connection with a cluster and place the connection inside of a connection pool, using the cluster_name as an alias.
4042 :param ip:
@@ -55,10 +57,17 @@ def create_connection(self, ip, port, scheme='http', username=None, password=Non
5557
5658 # determine version first
5759 if is_basic_auth is True :
58- response = requests .get (scheme + "://" + ip + ":" + port , auth = (username , password ),
59- timeout = REQUEST_TIMEOUT )
60+ if enable_ssl :
61+ response = requests .get (scheme + "://" + ip + ":" + port , auth = (username , password ),
62+ timeout = REQUEST_TIMEOUT , verify = ca_certs )
63+ else :
64+ response = requests .get (scheme + "://" + ip + ":" + port , auth = (username , password ),
65+ timeout = REQUEST_TIMEOUT )
6066 else :
61- response = requests .get (scheme + "://" + ip + ":" + port , timeout = REQUEST_TIMEOUT )
67+ if enable_ssl :
68+ response = requests .get (scheme + "://" + ip + ":" + port , timeout = REQUEST_TIMEOUT , verify = ca_certs )
69+ else :
70+ response = requests .get (scheme + "://" + ip + ":" + port , timeout = REQUEST_TIMEOUT )
6271
6372 if response .status_code == 401 :
6473 message = "Unable to create connection! Server returned 401 - UNAUTHORIZED: " + scheme + "://" + ip + ":" + port
@@ -68,11 +77,22 @@ def create_connection(self, ip, port, scheme='http', username=None, password=Non
6877
6978 # SAVE to Connection Pools
7079 if is_basic_auth is True :
71- conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
72- version = content .get ('version' ).get ('number' ), http_auth = (username , password ))
80+ if enable_ssl :
81+ conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
82+ use_ssl = True , verify_certs = True , ca_certs = ca_certs ,
83+ version = content .get ('version' ).get ('number' ), http_auth = (username , password ))
84+ else :
85+ conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
86+ version = content .get ('version' ).get ('number' ), http_auth = (username , password ))
87+
7388 else :
74- conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
75- version = content .get ('version' ).get ('number' ))
89+ if enable_ssl :
90+ conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
91+ use_ssl = True , verify_certs = True , ca_certs = ca_certs ,
92+ version = content .get ('version' ).get ('number' ))
93+ else :
94+ conn = Elasticsearch (hosts = [scheme + "://" + ip + ":" + port ], maxsize = 5 ,
95+ version = content .get ('version' ).get ('number' ))
7696
7797 self .add_connection (content .get ('cluster_name' ), conn = conn )
7898
0 commit comments