@ -78,6 +78,13 @@ class K8sClient(object):
else :
self . verify_server = ca_crt_file
self . _rq_params = {
' cert ' : self . cert ,
' verify ' : self . verify_server ,
' timeout ' : ( CONF . kubernetes . watch_connection_timeout ,
CONF . kubernetes . watch_read_timeout ) ,
}
def _raise_from_response ( self , response ) :
if response . status_code == requests . codes . not_found :
raise exc . K8sResourceNotFound ( response . text )
@ -106,9 +113,7 @@ class K8sClient(object):
header . update ( { ' Authorization ' : ' Bearer %s ' % self . token } )
if headers :
header . update ( headers )
response = self . session . get ( url , cert = self . cert ,
verify = self . verify_server ,
headers = header )
response = self . session . get ( url , headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
result = response . json ( ) if json else response . text
return result
@ -128,8 +133,7 @@ class K8sClient(object):
content_type = ' application/merge-patch+json '
url , header = self . _get_url_and_header ( path , content_type )
response = self . session . patch ( url , json = { field : data } ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( ) . get ( ' status ' )
@ -155,8 +159,7 @@ class K8sClient(object):
' path ' : path , ' data ' : data } )
response = self . session . patch ( url , data = jsonutils . dumps ( data ) ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( ) . get ( ' status ' )
@ -171,8 +174,7 @@ class K8sClient(object):
' value ' : value } ]
response = self . session . patch ( url , data = jsonutils . dumps ( data ) ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( ) . get ( ' status ' )
@ -185,8 +187,7 @@ class K8sClient(object):
' path ' : ' /metadata/annotations/{} ' . format ( annotation_name ) } ]
response = self . session . patch ( url , data = jsonutils . dumps ( data ) ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( ) . get ( ' status ' )
@ -205,8 +206,7 @@ class K8sClient(object):
data = [ { ' op ' : ' remove ' ,
' path ' : f ' /metadata/annotations/{annotation_name} ' } ]
response = self . session . patch ( url , data = jsonutils . dumps ( data ) ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
if response . ok :
return response . json ( ) . get ( ' status ' )
raise exc . K8sClientException ( response . text )
@ -218,8 +218,8 @@ class K8sClient(object):
if self . token :
header . update ( { ' Authorization ' : ' Bearer %s ' % self . token } )
response = self . session . post ( url , json = body , cert = self . cert ,
verify = self . verify_server , headers = header )
response = self . session . post ( url , json = body , headers = header ,
* * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( )
@ -230,9 +230,7 @@ class K8sClient(object):
if self . token :
header . update ( { ' Authorization ' : ' Bearer %s ' % self . token } )
response = self . session . delete ( url , cert = self . cert ,
verify = self . verify_server ,
headers = header )
response = self . session . delete ( url , headers = header , * * self . _rq_params )
self . _raise_from_response ( response )
return response . json ( )
@ -259,8 +257,7 @@ class K8sClient(object):
}
response = self . session . patch ( url , json = data , headers = headers ,
cert = self . cert ,
verify = self . verify_server )
* * self . _rq_params )
if response . ok :
return True
@ -301,8 +298,7 @@ class K8sClient(object):
}
response = self . session . patch ( url , json = data , headers = headers ,
cert = self . cert ,
verify = self . verify_server )
* * self . _rq_params )
if response . ok :
return True
@ -354,8 +350,7 @@ class K8sClient(object):
metadata [ ' resourceVersion ' ] = resource_version
data = jsonutils . dumps ( { " metadata " : metadata } , sort_keys = True )
response = self . session . patch ( url , data = data ,
headers = header , cert = self . cert ,
verify = self . verify_server )
headers = header , * * self . _rq_params )
if response . ok :
return response . json ( ) [ ' metadata ' ] . get ( ' annotations ' , { } )
if response . status_code == requests . codes . conflict :
@ -387,8 +382,6 @@ class K8sClient(object):
url = self . _base_url + path
resource_version = None
header = { }
timeouts = ( CONF . kubernetes . watch_connection_timeout ,
CONF . kubernetes . watch_read_timeout )
if self . token :
header . update ( { ' Authorization ' : ' Bearer %s ' % self . token } )
@ -400,9 +393,8 @@ class K8sClient(object):
params [ ' resourceVersion ' ] = resource_version
with contextlib . closing (
self . session . get (
url , params = params , stream = True , cert = self . cert ,
verify = self . verify_server , headers = header ,
timeout = timeouts ) ) as response :
url , params = params , stream = True , headers = header ,
* * self . _rq_params ) ) as response :
if not response . ok :
raise exc . K8sClientException ( response . text )
attempt = 0