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 import client, config
|
||||||
from kubernetes.client.rest import ApiException
|
from kubernetes.client.rest import ApiException
|
||||||
|
|
||||||
|
def to_selector(labels):
|
||||||
|
return ",".join(["=".join(l) for l in labels.items()])
|
||||||
|
|
||||||
class K8sApi:
|
class K8sApi:
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
@ -261,6 +264,19 @@ class K8s:
|
||||||
return None
|
return None
|
||||||
return pod.items[0].spec.containers[0].image
|
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:
|
class K8sBase:
|
||||||
'''
|
'''
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue