apache / apache/libcloud

Errors with Kubernetes, Zerigo DNS, and AWS EC2

Offen
#2,076 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
2.1k
Forks
931
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
4

Beschreibung

## Summary

DNS resolution failures, credential validation errors, and a user warning about SSL verification. This suggests potential issues with how Libcloud handles connections and credentials across various drivers.

## Detailed Information

Apache Libcloud is having issues with multiple cloud APIs due to a combination of network connectivity problems and incorrect credential handling.

1. Kubernetes Connection Warning
When attempting to connect to a Kubernetes cluster, a UserWarning is raised:

```rb
/usr/lib/python3/dist-packages/libcloud/common/kubernetes.py:237: UserWarning: Kubernetes has its own CA, since you didn't supply a CA certificate be aware that SSL verification will be disabled for this session

...
```

This warning indicates that SSL certificate verification is being disabled because no CA certificate was provided. This isn't a fatal error, but it's a security concern that should be addressed. The process hangs and requires manual termination.

2. Zerigo DNS Connection Error

A `requests.exceptions.ConnectionError` is raised when trying to connect to Zerigo DNS (ns.zerigo.com). The root cause is identified as a `socket.gaierror: [Errno -2]` Name or service not known, which means the system couldn't resolve the hostname `ns.zerigo.com`.

```rb
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ns.zerigo.com', port=443): Max retries exceeded with url: /api/1.1/zones.xml (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known'))
```

This error indicates a DNS-related issue, preventing the application from establishing a connection to the Zerigo API endpoint.

3. AWS EC2 Credential Error
An `InvalidCredsError` is thrown when using the EC2 driver. The error message `AuthFailure: AWS was not able to validate the provided access credentials` explicitly states that the credentials used for the AWS API call are invalid.

```python
libcloud.common.types.InvalidCredsError: 'AuthFailure: AWS was not able to validate the provided access credentials'
```

This points to an issue with the AWS access key or secret key, or an incorrect region configuration.

4. Android APK Analysis Failure
Android log (logcat) shows an `ApkAnalysisException` with the message `DOWNLOAD_FILE_NOT_FOUND_EXCEPTION`. Suggests that `com.example.apache_redcache` fails to recognize the APK Android Application itself. Although seemingly unrelated, Libcloud attempts to connect to the server, regardless if it is from a different application.

The `VerityUtils` errors about failing to measure `fs-verity (with errno 1)` reinforce that when the APK test is ran the client attempts to connect to the server.

**The primary issues are:**

DNS Resolution Failure: Libcloud fails to resolve `ns.zerigo.com`, leading to a `ConnectionError`. This could be a configuration issue on the client's network or a bug in how Libcloud handles network calls.

Authentication Failure: Libcloud fails to authenticate with AWS EC2 due to invalid credentials, raising an InvalidCredsError.

SSL Security Warning: The Kubernetes driver warns that SSL verification is disabled due to a missing CA certificate.

LibCloud Version: 3.4.1
Python Version: Python 3.11.2
OSxDistro: Linux penguin 6.6.76-08096-g300882a0a131 #1 SMP PREEMPT_DYNAMIC Sat, 24 May 2025 01:23:41 -0700 x86_64 GNU/Linux

Steps to reproduce:

1. Run UnitTests in Codespace to get `venv` error
2. Run AndroidSDK tests in Android Studio to get `Finsky_Verity` error
3. Debug `.py` files with Python modules installed

Image

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Kubernetes-Warnung in libcloud/common/kubernetes.py:237 von den Berichten zu Zerigo DNS- und AWS EC2-Anmeldedaten zu trennen. Führe anschließend die referenzierten Unit-Tests und AndroidSDK-Tests aus, um festzustellen, welche Fehler in Libcloud reproduzierbar sind. Als abgeschlossen gilt die Aufgabe, wenn jeder bestätigte Libcloud-Fehler einen klar abgegrenzten Umfang, Reproduktionsschritte und entweder einen passenden Regressionstest oder eine dokumentierte externe Ursache hat.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, kubernetes, python
Bereich
authentication, cloud, networking, security
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
15/100

Neue Issues direkt in Ihr Postfach

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