def cluster_get(self): """ Implementation of :func:`~kqueen.engines.base.BaseEngine.cluster_get` """ try: client = KubernetesAPI(cluster=self.cluster) client.get_version() except Exception as e: msg = 'Fetching data from backend for cluster {} failed with following reason:'.format(self.cluster.id) logger.exception(msg) return {'state': config.get('CLUSTER_ERROR_STATE')} return {'state': config.get('CLUSTER_OK_STATE')}
def status(self): """Return information about Kubernetes cluster.""" try: kubernetes = KubernetesAPI(cluster=self) out = { 'addons': kubernetes.list_services(filter_addons=True), 'deployments': kubernetes.list_deployments(), 'namespaces': kubernetes.list_namespaces(), 'nodes': kubernetes.list_nodes(), 'nodes_pods': kubernetes.count_pods_by_node(), 'persistent_volumes': kubernetes.list_persistent_volumes(), 'persistent_volume_claims': kubernetes.list_persistent_volume_claims(), 'pods': kubernetes.list_pods(), 'replica_sets': kubernetes.list_replica_sets(), 'services': kubernetes.list_services(), 'version': kubernetes.get_version(), } except Exception as e: logger.exception(e) out = {} return out
def test_version(self, cluster): api = KubernetesAPI(cluster=cluster) version = api.get_version() print(version) assert isinstance(version, dict) assert 'git_version' in version assert 'platform' in version