kubernetes-client / kubernetes-client/python

Unable to deserialize models with attributes of type RuntimeRawExtension

Offen
#461 16 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

lifecycle/frozen
Vorherrschende Sprache
Python
Sterne
7.7k
Forks
3.5k
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
18

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in kubernetes/client/api_client.py ungefähr bei Zeile 617 und reproduziere das ControllerRevision-Beispiel mit einem aktiven Kubernetes-Cluster und einer funktionierenden kubeconfig. Verfolge die Deserialisierung des freien JSON in RuntimeRawExtension; sie erfolgt, wenn das resultierende Modell den Rohwert beibehält, anstatt ohne ihn initialisiert zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.