Exemplo n.º 1
0
  def perform(self):
    possible_labels = [('k8s-app', 'kube-dns'), ('k8s-app', 'core-dns')]
    pods = K8Kat.pods().ns("kube-system").lbs_inc_any(possible_labels).go()
    running = [pod for pod in pods if pod.status == 'Running']
    outputs = [f"{pod.name}: {pod.phase}" for pod in pods]

    return self.record_step_performed(
      outcome=len(running) > 0,
      outputs=outputs,
      bundle={}
    )
Exemplo n.º 2
0
 def find_and_assoc_pods(self):
     from k8_kat.base.k8_kat import K8Kat
     matchers = list(self.pod_select_labels.items())
     self.assoced_pods = K8Kat.pods().ns(
         self.ns).lbs_inc_each(matchers).go()
Exemplo n.º 3
0
def stunt_pods():
    broker.check_connected_or_raise()
    garbage = K8Kat.pods().lbs_inc_each(StuntPod.labels()).go()
    ser = garbage.serialize(PodSerialization.standard)
    return jsonify(data=ser)
Exemplo n.º 4
0
def kill_stunt_pods():
    garbage = K8Kat.pods().lbs_inc_each(StuntPod.labels())
    garbage.delete_all()
    return jsonify(status='done')
Exemplo n.º 5
0
def events(ns, name):
    pod = K8Kat.pods().ns(ns).find(name)
    serializer = EventSerialization.standard
    serialized = [serializer(e) for e in pod.events()]
    return jsonify(data=serialized)
Exemplo n.º 6
0
def run_command():
    j = request.json
    ns, pod_name, cmd = j['pod_namespace'], j['pod_name'], j['command']
    pod = K8Kat.pods().ns(ns).find(pod_name)
    return jsonify(data=pod.cmd(cmd))
Exemplo n.º 7
0
def logs(ns, name):
    pod = K8Kat.pods().ns(ns).find(name)
    since_seconds = int(request.args.get('since_seconds', '5000'))
    return dict(data=pod.logs(since_seconds))
Exemplo n.º 8
0
 def kill_stunt_pods():
     pods = K8Kat.pods().lbs_inc_each(StuntPod.labels())
     pods.delete_all()
Exemplo n.º 9
0
 def find(self):
     pod = K8Kat.pods().ns(self.namespace).find(self.pod_name)
     return pod and pod.raw
Exemplo n.º 10
0
def names(query=None):
  query = query or K8Kat.pods()
  return query.pluck('name')
Exemplo n.º 11
0
 def test_delete_all(self):
   self.assertCountEqual(names(), ['p11', 'p12', 'p21'])
   K8Kat.pods().lbs_inc_each(l1='v1').delete_all()
   self.assertCountEqual(names(), ['p11', 'p12', 'p21'])