kubernetes-client/python

`LocationParseError` on autogenerated kubectl from Juju

Open

#2.031 geöffnet am 20. März 2023

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (3.323 Forks)batch import
help wantedkind/feature

Repository-Metriken

Stars
 (6.225 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 10T 3h) (2 gemergte PRs in 30 T)

Beschreibung

What happened (please include outputs or screenshots): Juju generates kubectl configs for users when adding them to a Juju controller and supports multiple main controllers resulting in an array output in the hostname. When running config.load_kube_config() a urllib3.exceptions.LocationParseError is returned as it cannot parse the array correctly.

The configuration file works perfectly well with kubectl.

What you expected to happen: One of the following:

  1. A standard failover attempt system when connecting
  2. All IPs validated, random one used
  3. All IPs validated, first one used

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

Add square brackets around the IP/hostname in your kubectl config file as shown below

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ...
    server: https://[10.1.x.x, 10.1.x.y]:443
  name: juju-cluster

Environment:

  • Kubernetes version (kubectl version):
Client Version: v1.26.3
Kustomize Version: v4.5.7
Server Version: v1.25.8
  • OS (e.g., MacOS 10.13.6): Ubuntu 20.04
  • Python version (python --version) 3.9.13
  • Python client version (pip list | grep kubernetes) 26.1.0

Contributor Guide