Fix missing pieces from K8s API.
This commit is contained in:
		
							parent
							
								
									9a7fc85d3b
								
							
						
					
					
						commit
						30ddfc9ad8
					
				|  | @ -11,6 +11,9 @@ from datetime import datetime | |||
| from kubernetes import client, config | ||||
| from kubernetes.client.rest import ApiException | ||||
| 
 | ||||
| def to_selector(labels): | ||||
|     return ",".join(["=".join(l) for l in labels.items()]) | ||||
| 
 | ||||
| class K8sApi: | ||||
| 
 | ||||
|     def __init__(self): | ||||
|  | @ -261,6 +264,19 @@ class K8s: | |||
|             return None | ||||
|         return pod.items[0].spec.containers[0].image | ||||
| 
 | ||||
|     def get_cluster_leader_pod(self, pg_cluster_name, namespace='default'): | ||||
|         labels = { | ||||
|             'application': 'spilo', | ||||
|             'cluster-name': pg_cluster_name, | ||||
|             'spilo-role': 'master', | ||||
|         } | ||||
| 
 | ||||
|         pods = self.api.core_v1.list_namespaced_pod( | ||||
|                 namespace, label_selector=to_selector(labels)).items | ||||
| 
 | ||||
|         if pods: | ||||
|             return pods[0] | ||||
| 
 | ||||
| 
 | ||||
| class K8sBase: | ||||
|     ''' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue