def list_pods(self): podList = [] try: pods = self.api_instance.list_pod_for_all_namespaces() for p in pods.items: status = p.status containers = [] restart_count = 0 hostname = None host_ip = None if status.container_statuses is not None: for c in status.container_statuses: restart_count = restart_count + c.restart_count container = Container(name=c.name, ready=c.ready, restart_count=c.restart_count, pod_name=p.metadata.name) if container.ready == False: self.warn_containers.append(container.__dict__) containers.append(container.__dict__) if status.host_ip is not None: host = Host.objects.get(ip=status.host_ip) hostname = (host.name if host.name is not None else None) host_ip = status.host_ip pod_ip = (status.pod_ip if status.pod_ip is not None else None) pod = Pod(name=p.metadata.name, cluster_name=self.cluster.name, restart_count=restart_count, status=status.phase, namespace=p.metadata.namespace, host_ip=host_ip, pod_ip=pod_ip, host_name=hostname, containers=containers) if restart_count > 0: self.restart_pods.append(pod.__dict__) if status.phase != 'Running' and status.phase != 'Succeeded': self.error_pods.append(pod.__dict__) podList.append(pod.__dict__) except ApiException as e: logger.error(msg='list pod error ' + e.reason, exc_info=True) return podList
def list_pods(self): try: pods = self.api_instance.list_pod_for_all_namespaces() podList = [] for p in pods.items: status = p.status containers = [] restart_count = 0 for c in status.container_statuses: restart_count = restart_count + c.restart_count container = Container(name=c.name, ready=c.ready, restart_count=c.restart_count, pod_name=p.metadata.name) if container.ready == False: self.warn_containers.append(container.__dict__) containers.append(container.__dict__) host = Host.objects.get(ip=status.host_ip) hostname = (host.name if host.name is not None else None) pod = Pod(name=p.metadata.name, cluster_name=self.cluster.name, restart_count=restart_count, status=status.phase, namespace=p.metadata.namespace, host_ip=status.host_ip, pod_ip=status.pod_ip, host_name=hostname, containers=containers) if restart_count > 0: self.restart_pods.append(pod.__dict__) podList.append(pod.__dict__) return podList except ApiException as e: raise Exception('list pod failed!' + e.reason)
def list_pods(self): try: pods = self.api_instance.list_pod_for_all_namespaces() podList = [] for p in pods.items: status = p.status pod = Pod(name=p.metadata.name, cluster_name=self.cluster.name, restart_count=0, status=status.phase, name_space=p.metadata.namespace, host_ip=status.host_ip, pod_ip=status.pod_ip, host_name=None) podList.append(pod.__dict__) return podList except ApiException as e: raise Exception('list pod failed!' + e.reason)