Example #1
0
 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')}
Example #2
0
    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
Example #3
0
    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