kubernetes-client / kubernetes-client/python
Unable to deserialize models with attributes of type RuntimeRawExtension
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 7.7k
- Fork
- 3.5k
- Merge medio
- 1g 14h
- PR unite (30g)
- 18
Descrizione
Minimal example for ControllerRevision (requires an active kubernetes cluster with working kubeconfig):
from kubernetes import client, config
config.load_kube_config()
apps_v1beta1_api = client.AppsV1beta1Api()
controller_revisions = apps_v1beta1_api.list_controller_revision_for_all_namespaces()
Issue seems to be here: https://github.com/kubernetes-client/python/blob/master/kubernetes/client/api_client.py#L617
if data is not None \
and klass.attribute_map[attr] in data \ # <-- here
and isinstance(data, (list, dict)):
value = data[klass.attribute_map[attr]]
kwargs[attr] = self.__deserialize(value, attr_type)
where it is looking for the 'Raw' attribute in data, but data is a freeform JSON object with no specific 'Raw' key. Because this conditional fails, nothing is ever added to kwargs, and RuntimeRawExtension is initialized without the required raw value.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in kubernetes/client/api_client.py intorno alla riga 617 e riproduci l’esempio di ControllerRevision con un cluster Kubernetes attivo e un kubeconfig funzionante. Traccia la deserializzazione del JSON libero in RuntimeRawExtension; viene eseguita quando il modello risultante conserva il valore grezzo invece di essere inizializzato senza di esso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100