addon
This commit is contained in:
92
docs/COMMAND_CURL_FIX.md
Executable file
92
docs/COMMAND_CURL_FIX.md
Executable file
@@ -0,0 +1,92 @@
|
||||
# Fix: Erreur "jq: invalid JSON text passed to --argjson"
|
||||
|
||||
## Problème identifié
|
||||
|
||||
L'erreur `jq: invalid JSON text passed to --argjson` à l'étape [8/8] est causée par une variable JSON vide ou invalide passée à `jq`.
|
||||
|
||||
## Corrections appliquées
|
||||
|
||||
### 1. **Parsing des arguments CLI** (Ligne 1570-1607)
|
||||
Ajout d'une fonction `parse_args()` pour gérer les arguments `--server`, `--token`, `--iperf-server`, et `--debug`.
|
||||
|
||||
```bash
|
||||
parse_args() {
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--server) SERVER_URL="$2"; shift 2 ;;
|
||||
--token) API_TOKEN="$2"; shift 2 ;;
|
||||
--iperf-server) IPERF_SERVER="$2"; shift 2 ;;
|
||||
--debug) DEBUG_PAYLOAD=1; shift ;;
|
||||
--help|-h) # affiche l'aide
|
||||
esac
|
||||
done
|
||||
}
|
||||
```
|
||||
|
||||
### 2. **Amélioration de la collecte GPU** (Ligne 553-589)
|
||||
Ajout de validations pour éviter de capturer les messages d'erreur de `nvidia-smi`:
|
||||
|
||||
```bash
|
||||
# Vérifier que nvidia-smi fonctionne avant d'extraire les infos
|
||||
if nvidia-smi &>/dev/null; then
|
||||
nvidia_model=$(nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -1 | tr -d '\n')
|
||||
|
||||
# Ne remplacer que si les valeurs sont non-vides et valides
|
||||
if [[ -n "$nvidia_model" && ! "$nvidia_model" =~ (failed|error|Error) ]]; then
|
||||
gpu_model="$nvidia_model"
|
||||
fi
|
||||
fi
|
||||
```
|
||||
|
||||
### 3. **Validation des variables JSON** (Ligne 1326-1357)
|
||||
Ajout de validations pour garantir qu'aucune variable n'est vide avant envoi.
|
||||
|
||||
### 4. **Mode debug amélioré** (Ligne 1328-1344)
|
||||
Quand `DEBUG_PAYLOAD=1` ou `--debug`, affiche l'état de toutes les variables JSON.
|
||||
|
||||
## Commandes de diagnostic sur le poste distant
|
||||
|
||||
### 1. Vérifier la détection GPU
|
||||
```bash
|
||||
lspci | grep -iE 'vga|3d'
|
||||
|
||||
if command -v nvidia-smi &>/dev/null; then
|
||||
if nvidia-smi &>/dev/null; then
|
||||
echo "nvidia-smi fonctionne"
|
||||
nvidia-smi --query-gpu=name --format=csv,noheader
|
||||
else
|
||||
echo "nvidia-smi échoue - driver non chargé"
|
||||
fi
|
||||
fi
|
||||
```
|
||||
|
||||
### 2. Tester le script complet avec debug
|
||||
```bash
|
||||
curl -fsSL http://10.0.0.50:8087/scripts/bench.sh | sudo bash -s -- \
|
||||
--server http://10.0.0.50:8007 \
|
||||
--token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
|
||||
--iperf-server 10.0.0.50 \
|
||||
--debug
|
||||
```
|
||||
|
||||
Le flag `--debug` va:
|
||||
- Afficher l'état de validation de toutes les variables JSON
|
||||
- Sauvegarder le payload complet dans `/tmp/bench_payload_YYYYMMDD_HHMMSS.json`
|
||||
- Demander confirmation avant l'envoi
|
||||
|
||||
### 3. Examiner un payload sauvegardé
|
||||
```bash
|
||||
ls -lht /tmp/bench_payload_*.json | head -1
|
||||
jq '.' /tmp/bench_payload_*.json | less
|
||||
```
|
||||
|
||||
## Prochaines étapes
|
||||
|
||||
1. Redémarrer le conteneur nginx pour servir la nouvelle version
|
||||
2. Tester avec `--debug` sur le poste ASUS
|
||||
3. Examiner le payload sauvegardé
|
||||
4. Corriger si nécessaire
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
- frontend/scripts/bench.sh - Script principal de benchmark client
|
||||
Reference in New Issue
Block a user