[Corrigé 3.1.40] Problème avec le module findip

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
wlf35
Gsup LEVEL 0
Messages : 9
Enregistré le : lun. 7 janv. 2019 14:06

Bonjour M. Flox

Depuis un moment, nous rencontrons des soucis lorsque nous utilisons le module findip sur nos équipements.

Je m'explique :

Sur un équipement mis en Standby, que l'on recycle pour l'utiliser dans une autre fonction, nous faisons une recherche d'IP dans le Vlan adéquat.
L'adresse IP proposée est bien disponible et correspond bien à ce que l'on demande. Mais lorsque l'on enregistre : "Erreur: Un autre équipement possède déjà cette l'adresse IP. (Voir sa fiche)"
Lorsque l'on se rend sur la fiche de cet autre équipement, ce dernier n'a rien à voir. et jamais n'a eu pour IP celle que l'on vient de demander, pourtant, l'équipement (le second) a été mis à jour lors de la recherche d'IP.

Il semblerait que l'update SQL ne se fasse pas sur la bonne interface...

Nous corrigeons le problème au compte goutte en supprimant l'interface du second équipement et en la recréant... mais nous corrigeons les conséquences d'un problème et non la cause.

C'est pour cette raison qu'aujourd'hui, nous sollicitons ton aide afin de débugger ce souci.
Merci par avance de ton aide
EME

PS : Cela fait plusieurs versions mineures que cela dure (je ne saurai te dire depuis quand le problème est apparut).
GestSup: 3.1.41 | Apache: 2.4.39 | MariaDB : 10.1.38-MariaDB-0+deb9u1 | PHP : 7.0.33-0+deb9u3
wlf35
Gsup LEVEL 0
Messages : 9
Enregistré le : lun. 7 janv. 2019 14:06

Je tiens à ajouter une précision :

Je viens d'extraire la ligne de la BDD concernant mon premier équipement :

ID : 4415 ; SN_Internal : 3288

Lors que je recherche la valeur 4415 dans tassets_iface

Deux valeurs remontent :

id = 4415 (correspond à l’équipement modifié alors qu'il ne devrait pas)
et
asset_id = 4415 (correspond à mon premier équipement)

Est-ce là le problème d'update rencontré ?
Merci de tes lumières
GestSup: 3.1.41 | Apache: 2.4.39 | MariaDB : 10.1.38-MariaDB-0+deb9u1 | PHP : 7.0.33-0+deb9u3
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour Mr EME,

j’avoue ne pas réussir à reproduire le problème de mon côté, avec ma base équipements.

Est ce que tu peux essayer de reproduire le problème sur la webdemo, et indiquer les étapes pour reproduire le problème.

+++
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
wlf35
Gsup LEVEL 0
Messages : 9
Enregistré le : lun. 7 janv. 2019 14:06

reproduit sur WebDémo :

Sur l'équipement 1 : j'ajoute 4 interfaces comme si c'était un serveur.
adresse IP : 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5

Je créée un nouvel équipement :
Je fais un recherche d'IP : l'IP 10.0.0.6 sort du chapeau
je fais Ajouter. Puis Enregistrer.
Erreur: Un autre équipement possède déjà l'adresse IP: 10.0.0.6. (Voir sa fiche)
GestSup: 3.1.41 | Apache: 2.4.39 | MariaDB : 10.1.38-MariaDB-0+deb9u1 | PHP : 7.0.33-0+deb9u3
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Ha c'est plus simple en reproduisant le problème...

test de modifier le fichier ./core/asset.php

remplace:

Code : Tout sélectionner

$qry->execute(array('ip' => $_GET['findip'],'id' => $_GET['id']));

par :

Code : Tout sélectionner

$qry->execute(array('ip' => $_GET['findip'],'id' => $_GET['iface']));
Je te laisse confirmer.
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
wlf35
Gsup LEVEL 0
Messages : 9
Enregistré le : lun. 7 janv. 2019 14:06

Ahhhhh Merci M. Flox !
Cela corrige bien le souci rencontré !

Maintenant, il ne reste plus qu'à corriger les infos qui ont été impactées :)

Bonne journée et merci encore.

Amicalement,
EME
GestSup: 3.1.41 | Apache: 2.4.39 | MariaDB : 10.1.38-MariaDB-0+deb9u1 | PHP : 7.0.33-0+deb9u3
Répondre