kubernetes-client / kubernetes-client/python

How to reduce the retry count for python client?

Aberta
#962 33 comentários 0 reações 0 responsáveis Ver no GitHub
help wanted kind/bug lifecycle/rotten
Linguagem predominante
Python
Estrelas
7.7k
Forks
3.5k
Merge médio
1d 14h
PRs com merge (30d)
18

Descrição

**What happened (please include outputs or screenshots)**:

I am having a config file of a dead/deleted/inaccessible cluster.
I am trying to accessing the cluster using kubernetes-client-python.
By default kube-client retries it 3 times,

```
WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond',)': /api/v1/pods

WARNING Retrying (Retry(total=1,....... /api/v1/pods

WARNING Retrying (Retry(total=0,....... /api/v1/pods
```
After 3 retries it throws an exception.

Is there any way to reduce the count.

Example Code
```
from kubernetes import client, config

config.load_kube_config(config_file='location-for-kube-config')

v1 = client.CoreV1Api()
ret = v1.list_pod_for_all_namespaces()
for i in ret.items:
print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
```

**What you expected to happen**:

I need to configure the retry count for inaccessible/accessible k8s cluster.

**How to reproduce it (as minimally and precisely as possible)**:

Delete the kubernetes cluster, then try to access the cluster using kubernetes-client-python.
By default it will perform retry for 3 times.

**Anything else we need to know?**:

**Environment**:
- Kubernetes version (`kubectl version`):
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:44:30Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"windows/amd64"}
Unable to connect to the server: dial tcp 149.129.128.208:6443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

- OS: Windows 10
- Python version (`python --version`) : Python 2.7.14
- Python client version (`pip list | grep kubernetes`): kubernetes 10.0.1

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Start with the shown config.load_kube_config and CoreV1Api.list_pod_for_all_namespaces entry points, then trace how the client performs retries for an inaccessible cluster. Done means the retry count can be configured for this use case and the supported behavior is documented or verified against the example.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
kubernetes, python
Domínio
api, networking
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.